Voor een opdracht van school ben ik bezig met een 2d/3d engine, en alles gaat goed afgezien van het feit dat het nogal traag is. Uiteindelijk ben ik erachter gekomen dat de pageflip de oorzaak is. Het tekenen op image met alle transformaties die daarbij horen nemen nagenoeg geen tijd in beslag, maar als ik de pageflip erachter aan doe:
Dan zit ik standaard op 100% cpu belasting. Ik weet dat java en graphics niet in 1 zin genoemt moeten worden, maar dat het zo traag is, vind ik zelf te veel van het goeie. Oja. Ik draai trouwens onder linux met jdk1.4, daar is het nog trager dan het onder windows al is. Ik heb verder al een tijdje op de Sun site zitten kijken, maar geen oplossing voor mijn probleem kunnen vinden. Dus wie o wie kan mij helpen.
[edit]
geen commentaar op de code, dit stuk is snel in elkaar gezet om te testen.
Java:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| public class RefreshTimerTask extends TimerTask{ public void run(){ JPanel contentPane = (JPanel)getContentPane(); Graphics2D g = (Graphics2D)contentPane.getGraphics(); //Clears the rectangle that was previously drawn. _bufferedImageGraphics.setColor(Color.white); _bufferedImageGraphics.clearRect(0, 0, area.width, area.height); DefaultStructureToImage<Point2d,Matrix_3_3> defStructToImg = new DefaultStructureToImage<Point2d,Matrix_3_3>(); defStructToImg.transform(_auto.getStructure(),_bufferedImageGraphics,new NormalPointToScreen(), new Matrix_3_3()); g.drawImage(_bufferedImage, 0, 0, new ImageObserverImpl()); //page flip } } |
Dan zit ik standaard op 100% cpu belasting. Ik weet dat java en graphics niet in 1 zin genoemt moeten worden, maar dat het zo traag is, vind ik zelf te veel van het goeie. Oja. Ik draai trouwens onder linux met jdk1.4, daar is het nog trager dan het onder windows al is. Ik heb verder al een tijdje op de Sun site zitten kijken, maar geen oplossing voor mijn probleem kunnen vinden. Dus wie o wie kan mij helpen.
[edit]
geen commentaar op de code, dit stuk is snel in elkaar gezet om te testen.
[ Voor 9% gewijzigd door Alarmnummer op 30-11-2002 18:07 ]