什么是 QueryPerformanceCounter 以及如何使用它
为了提高 Timer 类的计时精度,QueryPerformanceCounter 可以是一个可靠的选择,特别是当寻求微秒分辨率时。
实现QueryPerformanceCounter
要使用 QueryPerformanceCounter,请按照以下步骤操作:
初始化 PCFreq:
LARGE_INTEGER li; if (!QueryPerformanceFrequency(&li)) cout << "QueryPerformanceFrequency failed!\n"; PCFreq = double(li.QuadPart) / 1000.0;
开始Counter:
QueryPerformanceCounter(&li); CounterStart = li.QuadPart;
获取已用时间:
double GetCounter() { QueryPerformanceCounter(&li); return double(li.QuadPart - CounterStart) / PCFreq; }
StartCounter(); Sleep(1000); cout << GetCounter() << "\n"; // Output: approximately 1000
通过调整PCFreq的划分可以控制返回的时间单位:
以上是QueryPerformanceCounter 如何提高计时器精度以及如何使用它?的详细内容。更多信息请关注PHP中文网其他相关文章!