QueryPerformanceFrequency(…) and QueryPerformanceCounter(…) function
先調用 QueryPerformanceFrequency 來讀取計時器的頻率.
再用兩個 QueryPerformanceCounter 來計算 兩個時間差, 再用 Frequency 正確計算差幾秒鐘.
Ex: Sleep (1000)
LARGE_INTEGER m_swFreq, m_swStart, m_swStop; //stopwatch
double dfMinus, dfFreq, dfTim; 
QueryPerformanceFrequency(&m_swFreq);     
// 獲得計數器的時鐘頻率     
dfFreq = (double)m_swFreq.QuadPart; 
QueryPerformanceCounter(&m_swStart);     
// 獲得初始值     
Sleep(1000) ;     
QueryPerformanceCounter(&m_swStop);     
// 獲得終止值 
dfMinus = (double)(m_swStop.QuadPart- m_swStart.QuadPart);
dfTim = dfMinus / dfFreq;    
沒有留言:
張貼留言