SetTimer
高解像度のタイミングを使用しないアプリケーションで、マルチメディア タイマー サービスの代わりにこの関数を使用する必要があるのはなぜですか?
公式文書によると、それは私がすべきことであり、理由は示されていません。
高解像度のタイミングは効率が低下します。OS はより正確に時間を追跡する必要があり、時間通りにタイマーを呼び出すために非効率な時間に他のスレッドを一時停止する必要がある場合があります。基本的に、高解像度タイマーは高価であり、必要な場合にのみ高価なものを使用する必要があります。
ブレンダンのポイントに加えてSetTimer
、スレッド間通信を必要とせずに、GUI プログラムのアーキテクチャに直接適合する Windows メッセージを得ることができます。マルチメディア タイマーを使用すると、システム スレッドでコールバックを取得できますが、スレッドで実行されているコードと統合して同期するのは面倒です。