我有一個Canvas
從java.awt
包添加到JFrame
。 Canvas
使用雙緩衝繪製,使用canvas.createBufferStrategy(2)
啓用。Java Canvas不規則繪圖時間?
這是我的render()
方法,這應該是相當快的,因爲我不畫了這麼多:
Graphics g = strategy.getDrawGraphics();
// draw
g.drawImage(...); // Image with a size of 1000x1000
g.drawString(...); // Drawing a short String with the Frames per Second
drawModel(g); // this method draws a rotated game character with the
// help of Gaphics2D (Imagesize: 100x100)
g.dispose();
strategy.show();
我測量與System.currentTimeMillis的()的幫助下,性能和我得到的結果(每幀時間):
- 9ms的
- 9ms的
- 11毫秒
- 10ms的
- 0毫秒
- 21ms
- 10ms的
如何可以在發生一個渲染過程花費0毫秒和的平均時間在未來的雙?你有什麼建議來提高整體渲染性能?
// UPDATE
我已經嘗試了JPanel
現在:它的燃燒和它比帆布慢得多。
1)不要混用Swing和AWT組件。使用'JPanel'或'BufferedImage'作爲繪圖表面。 2)爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 –
什麼是您的平臺的時鐘分辨率? – trashgod
@trashgod好問題。 –