如果想要計算精確的時間可以用

QueryPerformanceFrequency      獲得電腦 CPU 每秒幾個 tick

QueryPerformanceCounter         獲得電腦 tick 數

這可以用來計算程式執行時間

還可以拿來空轉、暫停程式之用

以下是簡單的範例

LARGE_INTEGER	Hz;						//  CPU Tick
LARGE_INTEGER	refTick, nowTick;
double			nTick;

QueryPerformanceFrequency(&Hz);//  Get CPU ticks per second
nTick = Hz.QuadPart * 0.0025;
//  for-loop for idle 2.5ms
QueryPerformanceCounter(&refTick);
for(;;)
{
	QueryPerformanceCounter(&nowTick);
	if ( ( nowTick.QuadPart - refTick.QuadPart ) > nTick )
	break;
}  //  for loop
然後這樣就會很開心的空轉 2.5ms 了

(上面的範例有在不同 CPU 時脈的電腦上測試過)