3

Javaでゲームを書いています。そして、不思議なことに、パフォーマンスの問題があります。ペイント自体のベンチマークを行いました - 3 ミリ秒のトップで 1000 サイクル。ゲームロジックはそれ以下です。ここまでは順調ですね。しかし、スクロールするとき、ズームするとき、クリックするときに、まだ迷惑なラグが発生します。ズームインしてより多くのオブジェクトを配置すると、問題はさらに悪化します。しかし、それでも - 絵を 1000 回ループしても、ラグは多かれ少なかれ同じままなので、それはできません。ループをタスクに入れてみましたが、それでも同じです。ペイントの合間にタスクを一時停止しようとしましたが、それでも同じです。アニメーションはシルクのように滑らかに実行されます (フレームレートが安定していて高いため、それは理にかなっています)。では、入力を整然と整理するにはどうすればよいでしょうか。それらをすべて別のスレッドに入れますか?どんな意見でも大歓迎です!

4

1 に答える 1

9

UIの更新が行われているSwing Event Dispatch Threadでリスナーコールバックを直接使用しているようです。コマンド キューを使用し、コマンドの性質上、コールバックが呼び出されたときにイベントをキューに配置し、EDT とは関係のないメインのゲーム更新ループでこれを使用する必要があります。

于 2011-09-27T22:04:35.220 に答える