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