私は、タイムアウト期間として10msなどの低い値でWin32でSetTimerメソッドを試していました。私は500タイマーのイベントを取得するのにかかった時間を計算し、それが約5秒になると予想しました。驚いたことに、私は、約16msでタイムアウトしていることを意味するこれらの多くのイベントを取得するのに約7.5秒かかります。タイムアウト期間に設定できる値に制限はありますか(MSDNでは何も見つかりませんでした)?また、私のシステムで実行されている他のプロセスは、これらのタイマーメッセージに影響しますか?MFC/Win32のタイマーメッセージ
答えて
WindowsはリアルタイムOSではなく、この種の精度(10 ms間隔)を処理できません。そのことを言って、there are multiple kinds of timersといくつかは他のものよりも優れた精度を持っています。
OnTimerはWM_TIMER
メッセージに基づいています。これは、低いメッセージ優先度です。つまり、待機中の他のメッセージがない場合にのみ送信されます。
またMSDNあなたは関係なく、スケジューラがタイムクォンタムを尊重することの10
あるUSER_TIMER_MINIMUM
未満の間隔を設定することができないことを説明します。
システムタイマーの細かさを1msに変更することができます。これはMIDI処理を目的としています。
基本的には、w2kでの私の経験は、要求された待機時間が13ms未満であれば、0msと13msの2つの値の間でランダムに振動する待機を返すということです。それよりも長いタイマーは一般に非常に正確です。あなたの500のタイマーイベント - いくつかは0msで、13msは13msでした(13msがまだ正しいと仮定します)。あなたは時間不足に終わった。
前述のように - ウィンドウはリアルタイムOSではありません。特定の時間に何かをしてそれを期待することを頼むことは、愚かな用事です。タイマーを設定すると、可能な限り時間が経過した後すぐにWM_TIMERイベントを発生させるようウィンドウがきれいに呼び出されます。これは、他のスレッドが処理された後である可能性があります。したがって、WM_TIMERイベントを実際に見る時間は現実的には予測できません。あなたが知っているのは>あなたが設定した時間です。 Checkout this article on windows time
- 1. は削除できないWM_TIMERメッセージ
- 2. タイマを使用してMFCドキュメント/ビューアプリケーションを更新する
- 3. 他のフォームのページのメールフィールドのみのDeviseへの登録
- 4. オラクルの列の値のセットからの一定の値のセット
- 5. リストの[:]のeleのpythonとリストの違いのeleの?
- 6. ボタンのフォントのホバーの色デフォルトのサイトへのホバーの色
- 7. ハイチャートの線グラフの2つの値の間の線の削除
- 8. Rのデータフレーム内の特定の列の最後の5つのオブジェクトへのアクセス
- 9. のAndroid Studioの+のcmakeの+ OpenGLは:Androidのメーカーの下でのOpenGL
- 10. 別のデータフレームの特定の行の1つのデータフレームからの値の検索
- 11. 2つのdivの中の1つのdivの中のテキストの下に
- 12. 2つの列の任意の2つの値の最大の差の式
- 13. FacebookのグラフAPIのためのphpのgetLoginUrlのためのPythonのequivelant
- 14. Androidのアーキテクチャのコンポーネントのベストプラクティスの段落の取り扱いライフサイクルのページでAndroidのアーキテクチャのコンポーネントのドキュメントで
- 15. Javaの別のテーブルのあるテーブルから別のテーブルの別のカラムへの1つのカラムの挿入
- 16. のPHPの.htaccessのmod_rewriteの問題
- 17. WP7のリストボックスのTextBlockのテキストの整列
- 18. JavaScriptのhtmlエディタのカーソルのフォーカスマウスのフォーカス
- 19. のAndriodのビットマップの代わりのRect
- 20. 他のテーブルの行の間のテーブル
- 21. Haskellのプリプロセッサ - HaskellのSDLのバインディングの
- 22. Googleのスクリプトの次のセルの列
- 23. htmlのテキストボックスの中央のnavbar-navの
- 24. OpenGLのシーン内の他のオブジェクトのリフレクション
- 25. WPFのグリッドの一部のセルのボーダー
- 26. のAndroidのOpenGL-ESのグラデーションの背景
- 27. JTreeの非リーフノードの後の空の行
- 28. のAdobeのFlex 4のテキストの高さ
- 29. リピータコントロールのonclientclick()のリンクボタンへのデータのバインド
- 30. のhtaccessのバグ - ページナビゲーションのためのルール
はい、0ミリ秒のイベントもありました。 – Naveen