07. juni 2006 - 17:19Der er
5 kommentarer og 1 løsning
snake spil grafik
er igang med noget snakespil og er løbet ind i nogle problemer i forbindelse med repaint.
Mit spilbræt består af 100x75 felter der blir tegnet ved brug af 2 for løkker i min paint metode.
Problemet er at når spillet endelig kører og jeg kalder repaint så ryger cpu usage op på 100%, og jeg har den ide af at den kalder paint metoden og gennemløber alle felter hver gang den opdaterer. Hvordan sørger jeg for at denne metode kun køres når brættet initialiseres, så jeg ka nøjes med at male enkelte metoder. Jeg har prøvet at kalde repaint(x,x,x,x) metoden for at male en lille del af brættet, men det er stadig det samme.
det er en client-server del, så jeg modtager gametick fra serveren og har ingen mulighed for at sætte sleep selv. Derfor skal grafikken opdateres i hvert gametick.
Jeg har lige prøvet at eksperimentere med simpel gui der bare flytter en kasse rundt på en model bestående af 30 rækker og 50 søjler. Her kører det fint hvis jeg sætter gameTick ned til 10 ms. Men hæver jeg antallet af søjler, rækker til 75, 100 hvilket jo giver 7500 gennemløb pr. repaint blir cpu'en sendt i knæ allerede ved gametick på 100 ms. Derfor søger jeg en alternativ metode til at klare de her ting.
Fik løst problemet. Det viste sig som forventet at java er røvhamrende langsom og bruger uanede mængder kraft på kommandoer som g.setColor og andre. Løsningen blev at lave en simplere GUI.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.