CreateTimerQueueTimer的精度很差 有没有精度更好的计时器 但是我不想一直循环调用
你可以尝试使用高精度计时器(High Resolution Timer),它可以提供更高的精度。使用该计时器的方法是使用QueryPerformanceCounter函数获得当前计数器的值,并使用QueryPerformanceFrequency函数获得计数器的频率,然后计算时间间隔。
以下是一个示例代码:
#include <windows.h>
int main()
{
LARGE_INTEGER frequency;
LARGE_INTEGER start;
LARGE_INTEGER end;
QueryPerformanceFrequency(&frequency);
QueryPerformanceCounter(&start);
// Do something here
QueryPerformanceCounter(&end);
double interval = (double)(end.QuadPart - start.QuadPart) / frequency.QuadPart;
// interval即为经过的时间,单位为秒
}
需要注意的是,高精度计时器不适用于长时间的计时,因为它可能会遇到溢出问题。如果需要长时间的计时,建议使用循环调用的方式。
原文地址: https://www.cveoy.top/t/topic/b7Mg 著作权归作者所有。请勿转载和采集!