ゲームでメソッドを使用してフレームを毎秒60回CADisplayLink描画するために使用しています。EAGLView
フレームレートを呼び出すとUIView animateWithDuration:、アニメーションの期間中、60 から 30 fps の正確に半分に低下します。アニメーションが終了すると、fps はすぐに 60 に戻ります。
NSTimer代わりにアニメーションメソッドを使用してみましたがCADisplayLink、それでも同じ結果が得られます。
スピーカーアイコンがフェードアウトしているときに音量ボタンを押すと同じ動作が発生するため、使用している可能性がありますanimateWithDuration。アプリでスピーカー アイコンをスムーズに処理できるようにしたいので、アニメーション コードを書き直して 以外の別の方法を使用することはできませんが、それでanimateWithDuration動作するソリューションを見つける必要があります。
シミュレーターでのデバッグ用にアニメーションを遅くするオプションがあることは認識していますが、デバイスでこれが発生しており、そのようなオプションが有効になっていません。animateWithDurationまた、リニアオプションやユーザーインタラクションなど、さまざまなオプションを使用してみましたが、どれも改善されませんでした.
また、さまざまなフレーム レートでも機能するエンジンを設計できることも認識しています。ただし、ゲームには高い fps が望ましいため、これはこの問題の理想的な解決策ではありません。
誰かがこの問題を見たことがありますか、または以前に解決しましたか?