概述
利用windows API QueryPerformanceFrequency()和QueryPerformanceCounter()写了一个计算精确时间差的类.
用法:initStart()的时候开始计时,此后每调一次GetTickDelta()返回的是距离上次调用GetTickDelta()所经过的毫秒数。
class MyTick
{
public:
MyTick() {
LARGE_INTEGER litmp;
QueryPerformanceFrequency(&litmp);
m_cpuClickPerSecond = (double)litmp.QuadPart;
m_preTick = -1;
}
void initStart()
{
LARGE_INTEGER litmp;
QueryPerformanceCounter(&litmp);
m_preTick = litmp.QuadPart;// 获得初始值
}
int GetTickDelta()
{
LARGE_INTEGER litmp;
QueryPerformanceCounter(&litmp);
LONGLONG curTick = litmp.QuadPart;// 当前tick
if (m_preTick == -1) {
return -1;
} else {
int res = (int)(1000 * (curTick - m_preTick) / m_cpuClickPerSecond);
m_preTick = curTick;
return res;
}
}
private:
double m_cpuClickPerSecond;
LONGLONG m_preTick;
};
最后
以上就是虚幻小刺猬为你收集整理的windows API 实现精确的打点计时器的全部内容,希望文章能够帮你解决windows API 实现精确的打点计时器所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复