[Fusion] [ROZWIĄZANY] Za wolna generacja |
Autor |
Wiadomość |
GHPL
Starszy chorąży
 
Główny edytor: 
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: 
Drugi edytor: 
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: 
Drugi edytor: 
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: 
Pojedynki: nie
Pomógł: 18 razy Posty: 386
6074 Prestiż
|
|
|
|
 |
msg
Pupogłowy ~~~~~~~~~~~

Główny edytor: 
Drugi edytor: 
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. |
_________________
|
|
|
|
 |
GHPL
Starszy chorąży
 
Główny edytor: 
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: 
Drugi edytor: 
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: 
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: 
Drugi edytor: 
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ą . |
_________________
|
|
|
|
 |
GHPL
Starszy chorąży
 
Główny edytor: 
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: 
Drugi edytor: 
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: 
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 . |
|
|
|
 |
|