私のゲームではそれほどラグはありませんが、Timer
の実行を減らすことでゲームのラグを大幅に減らすことができることを知っています。ゲームには複数Timer
のがあります。これはTimer
、プレイヤーの位置やすべての障害物などのすべてを更新するものがあるためです。次に、Timer
取得できるパワーアップを削除するために使用する他の があります。
たとえば、Timer
初期遅延が 5000 に設定されているものがあります。1 回実行すると (1 回だけ実行されます)、特定のパワーアップが削除され、Timer
初期遅延が 20 000 に設定されている別のものがあります。各タイマーの異なる遅延を維持しながら、現在使用しているフィーバーを 1 つまたは少なくとも 1 つしか使用しないようにするにはどうすればよいですか?
これを使用PriorityQueue
またはScheduledThreadPoolExecutor
達成するために使用できる方法はありますか? もしそうなら、どのように?