iPhone + opengl +タッチ:FPSドロップ
質問
最近、私は非常に奇妙な問題に遭遇しました。iPhoneの画面に触れて指を動かすと、FPSの最大50%を食べることができます。ええ、問題ではなく、ボトルネックの可能性についてコードを確認しました。この投稿を書く前に試した最後の手段 - すべてのタッチ処理コードをコメントしてFPSを見ています。結果は次のとおりです。タッチなし - 58-60。指に触れて動く - 35-40 fpsが即座に。
レンダリングは別のスレッドで行われるため、メインのRunloopイベントは衝突しません。しかし、このようなFPSのドロップは本当に顕著であるため、この問題を解決することは私(および私が開発したゲーム)にとって非常に圧倒的です。
よろしくお願いします。
アップデート: :スレッドの優先順位をより高い値に設定すると、少し役立つようです...
解決
iPhone、iPod Touch、およびiPadはすべてシングルプロセッサ、シングルコアデバイスです。タッチイベントの取り扱いから別のスレッドにレンダリングコードを配置するだけで、適切なアイデアは、タッチ処理がCPUサイクルを食べるのを妨げません。フレームレートを上げる唯一の方法は、タッチ処理コードをより速くするか、レンダリングをより速くすることです。あなたが追求することは、アプリケーションの詳細によって異なります。
所属していません StackOverflow