Win32
正確な時間計測を行う


HomeProgramming TipsWin32SDK Tips[SDK-003]

ms 単位の時間計測は timeGetTime() が良いと思いますが、そのままでは誤差が発生します。
これは、通知に若干の余裕を OS が持たせているからです。
この余裕を 1ms として、なるべく正確な時間計測をさせましょう。
timeBeginPeriod()、timeEndPeriod() を使います。
■ 定義

#include <mmsystem.h>
#pragma comment(lib, "winmm.lib")


■ 初期化(InitInstance が最適)

    ::timeBeginPeriod(1);


■ 終了(ExitInstance が最適)

    ::timeEndPeriod(1);


 後は普通に timeGetTime() を使えばよいです。



 Copyright 2005 VALGUS. All Rights Reserved.