CreateTimerQueueTimer的精度很差 有没有精度更好的计时器
对于 Windows 平台,可以使用 QueryPerformanceCounter 和 QueryPerformanceFrequency 函数来获得高精度计时器。具体实现可以参考以下代码:
#include <windows.h>
LARGE_INTEGER freq;
LARGE_INTEGER start_time;
void start_timer() {
QueryPerformanceFrequency(&freq);
QueryPerformanceCounter(&start_time);
}
double elapsed_time() {
LARGE_INTEGER end_time;
QueryPerformanceCounter(&end_time);
return (double)(end_time.QuadPart - start_time.QuadPart) / freq.QuadPart;
}
使用方法如下:
start_timer();
// 耗时操作
double duration = elapsed_time();
注意,这种方式只适用于 Windows 平台。如果需要跨平台使用高精度计时器,可以考虑使用 C++11 中的 std::chrono 库。
原文地址: https://www.cveoy.top/t/topic/b7Md 著作权归作者所有。请勿转载和采集!