Pouze tento týden sleva až 80 % na e-learning týkající se PHP. A zároveň využij akce až 30 % zdarma při nákupu e-learningu. Více informací.
Hledáme asistenty pro kurzy programování - pohodová brigáda. Více info
discount 30
Avatar
tomekmichalhu:23. června 21:22

Ahoj, pracuji na hře v JWLGL (spíš ze zvědavosti, než pro ten finální produkt) a mám tam nějaké činnosti (např. path finding), které trvají relativně dlouho a na jejich řešení není potřeba v herní smyčce čekat - no prostě ideální adepti na asynchronní tasky pomocí thread poolu. Ovšem po naimplementování hra běží velice neochotně.
Algoritmus, který běžel předtím stabilně na 60FPS (a 60fps je maximum, jinak by to běželo i víc), tak teď běží v průměru tak na 30 a jsou tam často několikavteřinový záseky. Dokonce už samotná existence byť jen jednoho dalšího vlákna, které ani nemusí nic dělat, výrazně snižuje výkon. Naopak skoro nehraje roli, jestli nasázím do fronty tasků 100, nebo 10 000.
Snažil jsem se to různě optimalizovat, měnit počty a priority vláken, přidávat JVM paměť, ale to pomohlo jen minimálně. Zkoušel jsem vytvořit vlastní implementaci i použít ThreadPoolExecutor, který java už obsahuje, ale v tom není rozdíl. Už moc nevím co s tím.

 
Odpovědět
23. června 21:22
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.