WindowsはいくつかのTimerを提供しています。
- Multimedia Timer
- Timer Queue
- Threadpool Timer
- 同期オブジェクトを使用するWaitable Timer
- メッセージループを使用するMessage Timer
があり、それぞれに特徴があります。
- Message Timerは分解能が16msなので精度はよくない。
- Multimedia Timerは廃止済みでTimer Queueを推奨している。
- Multimedia TimerはtimeBeginPeriodを呼ぶことで精度が向上する。
などはよく知られていると思います。しかし実際どうなっているのか気になって調べたところOn WinAPI timers and their resolutionという比較記事を見つけました。しかしOSバージョンが明示されていないなど疑問は解消しなかったため、自分で比較してみることにしました。