私が作成している非常に単純なアプリケーションでは、多くのNSTimerを使用しています。NSTimerは0.01秒の速度で実行され、複数の画像の位置を変更するために使用します。これにより、大きな遅延が発生します。どうすればこれを修正できますか?私はアプリ開発にかなり慣れていないので、詳しく説明してください。
1 に答える
3
NSTimer Docsから(強調:私のもの):
タイマーはリアルタイムのメカニズムではありません。タイマーが追加された実行ループモードの1つが実行中であり、タイマーの起動時間が経過したかどうかを確認できる場合にのみ起動します。一般的な実行ループが管理するさまざまな入力ソースのため、タイマーの時間間隔の有効な解決は50〜100ミリ秒のオーダーに制限されます。長いコールアウト中、または実行ループがタイマーを監視していないモードのときにタイマーの起動時間が発生した場合、次に実行ループがタイマーをチェックするまで、タイマーは起動しません。したがって、タイマーが実際に起動する時間は、スケジュールされた起動時間の後、かなりの期間になる可能性があります。
表示周波数で作業したい場合は、を参照してくださいCADisplayLink
。
ただし、最初に、プログラムが遅くなる原因を理解するために、プログラムが今どこで時間を費やしているのかを理解する必要があります(プロファイラー)。
于 2012-09-01T21:42:25.763 に答える