windows API 实现精确的打点计时器
生活随笔
收集整理的這篇文章主要介紹了
windows API 实现精确的打点计时器
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
利用windows API QueryPerformanceFrequency()和QueryPerformanceCounter()寫了一個計算精確時間差的類.
用法:initStart()的時候開始計時,此后每調(diào)一次GetTickDelta()返回的是距離上次調(diào)用GetTickDelta()所經(jīng)過的毫秒數(shù)。
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;// 當前tickif (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; };總結(jié)
以上是生活随笔為你收集整理的windows API 实现精确的打点计时器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 常用通配符
- 下一篇: 自定义容器实现类似Windows屏保功能