私はNSTimerを実行しても信頼性の高い結果を得るのに最も速いのは何ですか?私は30msに近づくにつれてそれが役に立たなくなることを読みました。それで、どこが「無駄になって始めるのですか」... 40ms? 50ms?NSTimerを実行するのが最も速いのは何ですか?
答えて
セイthe docs:
タイマーの時間 間隔の有効解像度が 上に制限されているあなたがしたい場合は50-100ミリ秒
の順序は以下のように聞こえます0.1秒以下のタイマーは使用しないでください。しかし、あなた自身のアプリでそれを試してみて、あなたがいかに低いことができるか見てみませんか?
これについては保証がありません。 NSTimersは事実上日和見的ですが、イベントループを実行するので、効果的な細分性は、Cocoaタイマーのディスパッチメカニズムの限界に加えて、アプリ内で実行されるすべてのものに依存します。
ありがとうございます。私自身がGCDを使って書くのとは別に、これよりも速く進めるための推奨方法はありますか? –
@DanRosenstark(6年後...)あなたが必要とするものによって異なります。 'CADisplayLink'は60分の1秒になるかもしれないようだが、これはディスプレイのタイミングの周りにいくつかの注意点があるからだ。リアルタイム性や超高精度を保証するものが必要な場合は、最善のアプローチ方法について新しい質問をする必要があります。がんばろう! –
達成しようとしている結果の種類によって異なります。 NSTimer Class
0.5 - 1.0
は、信頼性の高い結果を得るのに適しています。
信頼性の高い定義は何ですか? 1秒タイマーの16mSエラーは2%エラーですが、30mSタイマーは50%エラーです。
NSTimersは、現在の実行ループで何が起きても終了するのを待って、時間内のエラーが蓄積する可能性があります。例えばディスプレイにN回タッチすると、その後に繰り返されるNSTimerのすべての点滅は、0からNまでのハンドラ(「間違った」時間に実行していたもの)に触れる累積時間によって遅くなることがあります。
CADisplayLinkタイマーは、フォアグラウンドタスクのセットがフレーム時間と同じ時間かかると仮定して、フレームレートまでの時間を量子化しようとします。
- 1. JVM上で実行される最も速い言語は何ですか
- 2. UIViewの背景を実装する最も速い方法は何ですか?
- 3. C#で最も速いメンバーシップルックアップを提供するものは何ですか?
- 4. デスクトップをストリーミングする最も速い方法は何ですか?
- 5. タイプをチェックする最も速い方法は何ですか?
- 6. Rで複数の論理比較を実行する最も速い方法は何ですか?
- 7. 最も速いAndroid SDKの設定は何ですか?
- 8. netTcpBindingの最も速いセキュリティ設定は何ですか?
- 9. 再帰関数でデータベースクエリを実行する最も速い方法は何ですか?
- 10. HTTPリクエストを実行して404を確認する最も速い方法は何ですか?
- 11. Font Awesomeを読み込むのが最も速いのは何ですか?
- 12. MySQLは何千もの行を数える最速の方法
- 13. javascriptの実行をプロファイルする最も良い方法は何ですか?
- 14. 整数除算を行う最も速い方法は何ですか?
- 15. iOSで最も速い描画方法は何ですか?
- 16. iPadで最も速いアニメーションは何ですか
- 17. デバイス間で最も速い通信方法は何ですか?
- 18. ペアの配列で最も近い数のペアを見つける最も速い方法は何ですか?
- 19. Rのデータセットを更新する最も速い方法は何ですか?
- 20. std :: stringのサイズを変更する最も速い方法は何ですか?
- 21. このHTMLテーブルを解析する最も速い方法は何ですか?
- 22. IDの配列をクエリする最も速い方法は何ですか?
- 23. 私のサイトで良い検索を実装する最も速い方法は何ですか?
- 24. NSTimerをバックグラウンドで実行するには
- 25. NSTimerをバックグラウンドで実行するには
- 26. Rのパフォーマンス:行列の行の要素を並べ替える最も速い方法は何ですか?
- 27. 最も速いwinformsデータグリッドは何ですか?
- 28. メテオでIPトラックツールをインストールするには、最速/最速/最も経済的な方法は何ですか?
- 29. HBaseからデータを抽出する最も速い方法は何ですか
- 30. CLで速度の宣言を最適化するものは何ですか?
高速実行、繰り返し、タイマーは避ける必要があります。彼らはバッターを消費し、アプリケーションを応答しないままにする傾向があります。 – bbum
[NSTimerを高い頻度で使用する]の複製が可能ですか?(0120-18753-03) –
@bbum "高速実行、繰り返しタイマーは避けるべきです"...あなたはNSTimerのインスタンスを指していますか、あるいは設計上の問題ですか?また、NSTimerに代わるより速い方法がありますか? MIDIをプッシュアウトするためにCADisplayLink 60fpsよりも速く進む必要があります。 –