これはFire固有のGPUの問題のようです。助けや提案をいただければ幸いです。
ほとんどの場合、私のタワーディフェンスゲームは、数十の敵とタワーがすべての方向に射撃している場合でも、60fpsを実行できます。ただし、一見ランダムな時間(メインメニューに座っているなど、何も起こらない場合でも)では、400msのヒッチが非常に等間隔に配置され、約2〜3秒の間隔でゲームが一時停止します。その後、突然ヒッチが消え、16x16ピクセルのテクスチャブロックがランダムにレンダリングされなくなります。
これらの2つのグリッチは相互に排他的であるように見えます。前述のように、ゲームを開始し、メインメニューからレベル選択画面に移動するだけでトリガーできます。この画面では、最小限のリソースが読み込まれ、ゲームロジックはほとんど発生しません。私は効果音にOpenSLを使用していますが、sfxを無効にすると、ヒッチの持続時間が280msに変更されることに気付きました。
次に、フレームレートを手動で60fpsから30fpsに強制し(フレームティックループにスリープを挿入することにより)、両方のグリッチが完全に消えました。
これは、レンダリングされないテクスチャを示すスクリーンキャップです。このバグは、深度/ステンシル値、およびカラークリアがオンかオフかに関係なく、すべての32ビットレンダリングサーフェスで発生します。
ありがとうございました!
編集:実際には、テクスチャのちらつきはどのフレームレートでも発生するようですが、40〜45fps未満のどこかで400msのヒッチがなくなります。