Windows で高分解能タイマといえば time〜 のマルチメディアタイマを使うけど、実はこれも 1msec 弱の遅延があるらしい。 ここからさらに高分解能のカウンタ QueryPerformanceCounter を組み合わせて精度上げてみる。 ケース1・timeSetEvent のみ 10msec を計るために 1msec の分解能に設定した timeSetEvent を 10msec タイマとして使用する。 下のようなコードを動かすとおおむね 700μsec ほどの遅延が発生していることがわかる。 コード #include <windows.h> #include <mmsystem.h> #include <cstdio> #pragma comment( lib, "winmm.lib" ) void CALLBACK TimerCallback( UINT uTimerID,
![Windows で高分解能タイマ - ブログ@kaorun55](https://cdn-ak-scissors.b.st-hatena.com/image/square/421b225ad8222e731e82f809a2c6041d8f9064be/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fk%2Fkaorun55%2F20081215%2F20081215220556.jpg)