パッケージCanvas
から を に追加しました。はダブル バッファリングを使用して描画します。java.awt
JFrame
Canvas
canvas.createBufferStrategy(2)
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
- 11ms
- 10ms
- 0ms
- 21ms
- 10ms
1 つのレンダリング プロセスに 0 ミリ秒かかり、次のレンダリング プロセスには平均時間の 2 倍かかるというのはどうしてでしょうか? また、全体的なレンダリング パフォーマンスを改善するための提案は何ですか?
// アップデート
私は今試しましたJPanel
:それはフレアで、キャンバスよりもはるかに遅いです。