NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
[Fusion] [ROZWIĄZANY] Za wolna generacja
Autor Wiadomość
GHPL 
Starszy chorąży


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 18 razy
Posty: 386

6074 Prestiż
Wysłany: 04-02-2017, 19:02   [Fusion] [ROZWIĄZANY] Za wolna generacja

Da się jakoś przyboostować zużycie procesora dla aplikacji napisanej w CF 2.5? Bo zrobiłem pewien generator i zanim wygeneruje jakiś sensowny kształt to minie godzina xD. Pętla generacyjna wykonuje się jakieś 15 razy i jest kilka FPS. Ja chcę szybciej!
Ostatnio zmieniony przez GHPL 05-02-2017, 10:52, w całości zmieniany 1 raz  
 
     
Herrios 
Sierżant


Główny edytor: MMF2 Dev
Drugi edytor: MMF2 Dev
Pojedynki: być może
Skype:
Pomógł: 4 razy
Posty: 106

5532 Prestiż
Wysłany: 04-02-2017, 19:45   

Możesz ustawić wyższy priorytet procesu za pomocą wtyczki, powiedziałbym ci jaką ale tak szukam wśród moich wtyczek i wydaje mi się że jej nie mam.
W każdym razie jest to możliwe.
Ostatnio zmieniony przez Herrios 04-02-2017, 19:52, w całości zmieniany 1 raz  
 
     
Neoqueto 
Moderator
Akcelerator


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2
Pojedynki: być może
Skype:
Pomógł: 60 razy
Posty: 537

7976 Prestiż
Wysłany: 04-02-2017, 19:49   

Nie da rady za bardzo, możesz zrobić wielowątkowość używając wielu instancji programu i wtyczki Instance Communicator, ale... ale to jest naprawdę voodoo, nie wiadomo nawet czy twój problem jest P- czy NP-trudny, a weź napisz taki kod w zdarzeniach. Najłatwiej będzie samemu starać się rozpracować jak polepszyć wydajność własnego algorytmu u podstaw.
_________________
Jeśli otrzymałeś pomoc - pamiętaj o przyznaniu punktu Pomógł!
 
     
GHPL 
Starszy chorąży


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 18 razy
Posty: 386

6074 Prestiż
Wysłany: 04-02-2017, 20:18   

Jest to algorytm generujący to: https://en.wikipedia.org/wiki/Abelian_sandpile_model

Kod:
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1411

40075 Prestiż
Wysłany: 04-02-2017, 20:35   

Zrezygnuj z ini, przyśpieszysz projekt potencjalnie 10 razy ;) .
W ogóle napisz to w C++, będzie jeszcze szybsze.
_________________
:razzugly:
 
     
GHPL 
Starszy chorąży


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 18 razy
Posty: 386

6074 Prestiż
Wysłany: 04-02-2017, 21:08   

msg napisał/a:
Zrezygnuj z ini, przyśpieszysz projekt potencjalnie 10 razy .

Czym zastąpić?

msg napisał/a:
W ogóle napisz to w C++, będzie jeszcze szybsze.

Jeszcze nie umiem.
 
     
jarlfenrir 
Generał brygady


Główny edytor: Fusion 2.5
Drugi edytor: TGF2
Pomógł: 82 razy
Posty: 1731

37283 Prestiż
Wysłany: 04-02-2017, 21:09   

Zdecydowanie zrezygnuj z INI. Ono Ci spowolni nawet jak będziesz coś wczytywał raz na klatkę animacji.
INI chyba po prostu wszystko na bieżąco zapisuje i wczytuje bezpośrednio z dysku.
 
     
GHPL 
Starszy chorąży


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 18 razy
Posty: 386

6074 Prestiż
Wysłany: 04-02-2017, 21:12   

Herrios napisał/a:
Możesz ustawić wyższy priorytet procesu za pomocą wtyczki, powiedziałbym ci jaką ale tak szukam wśród moich wtyczek i wydaje mi się że jej nie mam.

Ustawiałem ręcznie, nie pomaga
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1411

40075 Prestiż
Wysłany: 04-02-2017, 22:13   

GHPL napisał/a:

msg napisał/a:
Zrezygnuj z ini, przyśpieszysz projekt potencjalnie 10 razy .

Czym zastąpić?

No przecież, że Arrayem. Nawet twoje wytworne nazwy pól w INI to sugerują. Albo... no nie wiem... nazwa 'grid' i fakt, że obsługujesz tablicę dwuwymiarową :/ .
_________________
:razzugly:
 
     
GHPL 
Starszy chorąży


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 18 razy
Posty: 386

6074 Prestiż
Wysłany: 04-02-2017, 22:28   

msg napisał/a:
No przecież, że Arrayem. Nawet twoje wytworne nazwy pól w INI to sugerują. Albo... no nie wiem... nazwa 'grid' i fakt, że obsługujesz tablicę dwuwymiarową .
Wydaje mi się, że jak dam że array ma rozmiar 1001 i wpiszę coś do 501 to się zlaguje, ale sprawdzę to.

[ Dodano: 04-02-2017, 22:48 ]
DZIAŁA. GENERUJE SIĘ HIPER SZYBKO. DZIĘKI.
 
     
jarlfenrir 
Generał brygady


Główny edytor: Fusion 2.5
Drugi edytor: TGF2
Pomógł: 82 razy
Posty: 1731

37283 Prestiż
Wysłany: 05-02-2017, 11:09   

GHPL napisał/a:
Wydaje mi się, że jak dam że array ma rozmiar 1001 i wpiszę coś do 501 to się zlaguje, ale sprawdzę to.

Nie rozumiem dlaczego miałoby się "zlagować" akurat przy podanych przez Ciebie parametrach...
Tablica 1000x1000 zajmie Ci jakieś 4MB ramu... zakładam, że masz więcej ;) wręcz zaryzykowałbym stwierdzenie, że przy tablicy wielkości 10k na 10k nadal byś nie zauważył widocznych zacięć.

"Zlagowanie", jak to nazwałeś, mogłoby wystąpić tylko wtedy, jak rozmiar twojego arraya przekroczyłby ilość aktualnie wolnego ramu i system musiałby wtedy fragmenty tablicy zapisywać na dysku (tzw. pamięć wirtualna), co... w najgorszym razie da Ci wydajność na poziomie INI. W absolutnie najgorszym przypadku! W każdym innym tablica wygrywa z INI ;)
 
     
GHPL 
Starszy chorąży


Główny edytor: Fusion 2.5 Dev
Pojedynki: nie
Pomógł: 18 razy
Posty: 386

6074 Prestiż
Wysłany: 17-03-2018, 22:20   

msg napisał/a:
W ogóle napisz to w C++, będzie jeszcze szybsze.
No trochę czasu minęło i już potrafię. Dzięki. Po tym jak nauczyłem się C++ widzę jak bardzo CF 2.5 to bieda XD.

EDIT 29.12.2019: Only JavaScript <3 .
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie
Daj piniondza Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group