//精确时钟查询。
void TestHighTimer(void)
{
//
LARGE_INTEGER nFreq;
LARGE_INTEGER nLastTime1;
LARGE_INTEGER nLastTime2;
//获取是否支持精确定时器。
if (QueryPerformanceFrequency(&nFreq))
{
//
const int nBufSize = 256;
TCHAR chBuf[nBufSize];
//显示定时器的频率。
wsprintf(chBuf,_T("LastTime=%I64d/r/n"),nFreq);
OutputDebugString(chBuf);
//获取定时器的值。
QueryPerformanceCounter(&nLastTime1);
wsprintf(chBuf,_T("LastTime=%I64d/r/n"),nLastTime1);
OutputDebugString(chBuf);
Sleep(0);
//获取定时器的值。
QueryPerformanceCounter(&nLastTime2);
wsprintf(chBuf,_T("LastTime=%I64d/r/n"),nLastTime2);
OutputDebugString(chBuf);
//计算时间是花费多少秒。
float fInterval = nLastTime2.QuadPart - nLastTime1.QuadPart;
swprintf(chBuf,nBufSize,_T("花费:%f/r/n"),fInterval/(float)nFreq.QuadPart);
OutputDebugString(chBuf);
}
}
void TestHighTimer(void)
{
//
LARGE_INTEGER nFreq;
LARGE_INTEGER nLastTime1;
LARGE_INTEGER nLastTime2;
//获取是否支持精确定时器。
if (QueryPerformanceFrequency(&nFreq))
{
//
const int nBufSize = 256;
TCHAR chBuf[nBufSize];
//显示定时器的频率。
wsprintf(chBuf,_T("LastTime=%I64d/r/n"),nFreq);
OutputDebugString(chBuf);
//获取定时器的值。
QueryPerformanceCounter(&nLastTime1);
wsprintf(chBuf,_T("LastTime=%I64d/r/n"),nLastTime1);
OutputDebugString(chBuf);
Sleep(0);
//获取定时器的值。
QueryPerformanceCounter(&nLastTime2);
wsprintf(chBuf,_T("LastTime=%I64d/r/n"),nLastTime2);
OutputDebugString(chBuf);
//计算时间是花费多少秒。
float fInterval = nLastTime2.QuadPart - nLastTime1.QuadPart;
swprintf(chBuf,nBufSize,_T("花费:%f/r/n"),fInterval/(float)nFreq.QuadPart);
OutputDebugString(chBuf);
}
}