バッファ戦略と、Javadocで説明されている次の手法の使用を検討しています。
// Main loop
while (!done) {
// Prepare for rendering the next frame
// ...
// Render single frame
do {
// The following loop ensures that the contents of the drawing buffer
// are consistent in case the underlying surface was recreated
do {
// Get a new graphics context every time through the loop
// to make sure the strategy is validated
Graphics graphics = strategy.getDrawGraphics();
// Render to graphics
// ...
// Dispose the graphics
graphics.dispose();
// Repeat the rendering if the drawing buffer contents
// were restored
} while (strategy.contentsRestored());
// Display the buffer
strategy.show();
// Repeat the rendering if the drawing buffer was lost
} while (strategy.contentsLost());
}
EDTを避けinvokeLater
たりinvokeAndWait
、アニメーションを実行する場合は素晴らしいでしょう。
私の質問:
show
これがSwingアプリケーションにある場合、EDTに電話をかけることを心配する必要はありませんか?- 他の誰かがSwingアプリでこれを使用して問題を見ることができますか?
これは、ゲームプログラミングに対するこの興味深い答えに触発されました。