0

これまで、Imageを作成してダブルバッファリングを行い、関連付けられたGraphicsオブジェクトを使用してそのImageに必要なものを描画してから、paintメソッドのGraphicsオブジェクトを使用してそのImageを画面に描画しました。最近、BufferStrategyクラスとその使用法について学びました。私は2つの方法の長所と短所は何であるか疑問に思いました。

編集:私は私の質問をあまり明確にしたとは思わない。DIYの方法とBufferStrategyの両方の長所と短所、そしてもしあれば、どちらを使うべきかを知りたかったのです。

4

2 に答える 2

7

私は常にデフォルトを使用して良い結果を出しましBufferStrategyた。

この優れた例は、 EDTではなく最初のスレッドを継続的に描画するため、バッファを2倍にする必要があります。対照的に、このかなり忙しいは、Swingに応答して呼び出されるだけに依存しています。コンポジットを除いて、オフスクリーンバッファが必要になることはめったにありません。最後に、このチュートリアル記事はより多くのガイドラインを提供します。repaint()Timer

于 2010-01-15T00:13:18.857 に答える
1

まだ読んでいない場合は、AWTとSwingでPaintingを読むことをお勧めします。

JFrameを使用している場合、通常は日曜大工のダブルバッファリングは必要ないと思います。Swingには、デフォルトでオンになっているダブルバッファリングが組み込まれています。手動でこれを自分で行うと、速度が低下します。いずれかのJComponentでisDoubleBufferingEnabled()を呼び出すことにより、ダブルバッファリングがオンになっているかどうかを確認できます。

これを自分で行いたい場合もありますが、それは規則ではなく例外である必要があります。ゲームを書くようなことをしているのかもしれませんが、その場合は私のアドバイスが当てはまらないかもしれません。とにかく、うまくいけば、上記が有用な情報です。

于 2010-01-14T20:35:41.897 に答える