pre oko mesec dana proceo sam u slobodno vreme da pravim jednostavnu igricu u javi. znam da je java spor jezik pa sam se trudio da ne budzim nista previse. Za razvoj koristim netBeans za linux.
U kodu sam ogranicio max frame rate na 60fps jer vise od toga ne znaci nista.
I sta se desava?
U linuxu mi je frame rate 60 sto me je odusevilo s obzirom na brzinu jave.
Problem je nastao u windowsu! kad sam probao da pokrenem .jar file iz windowsa dobio sam 12fps!!!!
Problem je u delu koda koji crta pozadinu:
1 pozadina = spriteCache.getSprite("pozadina.gif");
2 g2.setPaint(new TexturePaint(pozadina, new Rectangle(0,0,pozadina.getWidth(),pozadina.getHeight())));
3 g2.fillRect(0,0,getWidth(),getHeight());
dakle, sliciza pozadnia.gif se koristi da prefarba pozadinu.
Izgleda da je ovo mnogo
bolje implementirano u javi za linux nego u javi za win. Kada iskomentarisem ove linuje i stavim da pozadina bude jednobojna, u winu se framerate povecava na skoro maximalnih 60fps.
jel neko ima ideju kako da resim problem sa brzinom u windowsu?
da li za iscrtavanje da koristim neke druge f-je ili da neku drugu klasu (umesto graphics2d)?