如何使用 QueryPerformanceCounter 在几秒钟内获取结果
How to use QueryPerformanceCounter to get results in seconds?
BOOL QueryPerformanceCounter(
__out LARGE_INTEGER *lpPerformanceCount
);
LARGE_IN
TEGER startTimer()
{
LARGE_INTEGER start;
DWORD_PTR oldmask = SetThreadAffinityMask(GetCurrentThread(), 0);
QueryPerformanceCounter(&start);
SetThreadAffinityMask(GetCurrentThread(), oldmask);
return
start;
}
LARGE_INTEGER endTimer()
{
LARGE_INTE
GER stop;
DWORD_PTR oldmask = SetThreadAffinityMask(GetCurrentThread(), 0);
QueryPerformanceCounter(&stop);
SetThreadAffinityMask(GetCurrentThread(), oldmask);
return
stop;
}
我正在使用这些函数,但我不确定它以什么类型返回值。结束计时器 - 开始计时器 = ? 如何将此结果转换为秒数?
您需要获取频率并将 2 个计数器的差异除以它。
LARGE_INTEGER fr,t1,t2;
QueryPerformanceCounter(&t1);
// some lengthy code ...
QueryPerformanceCounter(&t2);
QueryPerformanceFrequency(&fr);
double diff_sec = (t2.QuadPart-t1.QuadPart)/(double)fr.QuadPart;
相关文章:
- 在 1.5 秒内找到 3 到 4 个不同整数的中位数超过 2000 万
- 每秒清除一次终端,但留下几分钟
- 带有 Rebel t6i 的 OS X 10.12.1 上的 EDSDK 3.4.0:拍摄照片后最多 30 秒内不会收到
- 将几秒钟转换为几天,小时,分钟,秒格式(C )
- 将年龄在几年,小时,几分钟和秒的时间内转换
- 如何在C 中将字符串在几秒钟内转换为时间
- 关于C++内联函数的几个问题
- 如何在不到1秒的时间内计算2^x mod n=1
- 在小数秒内仅用 3 位数字格式化 posix 时间
- 具有 NameFullQualifiedDN 的 GetUserNameEx 在 3-4 秒内不会返回,为什么?
- C++ 在一周中的几天内增加工作时间的公式
- 如何使用 QueryPerformanceCounter 在几秒钟内获取结果
- 在N秒内两次提升asio deadline_timer async_wait(N秒)导致操作取消
- QprogressBar在一秒内从0跳到100,如何使其平滑
- 如果函数 A 在 5 秒内未再次调用,则调用函数 B
- 5秒内迭代向量5
- 在同一秒内多次启动的程序中生成唯一的字符串
- 如何在不到1秒的时间内运行此代码
- 每x秒从.exe内的dll调用函数
- 如何以几秒间隔多次使用 QTcpSocket 实例