利用这两个函数可以创建跟硬件时钟的晶振一样精确的计时器。
在进行定时之前,先调用QueryPerformanceFrequency()函数获得机器内部定时器的时钟频率,
1.如下函数查询cpu时钟频率,(如我的cpu是2.89GHz,得到2893460000)
BOOL QueryPerformanceFrequency( LARGE_INTEGER *lpFrequency // current frequency);
2.再获取高精确度性能计数器的值
BOOL QueryPerformanceCounter( LARGE_INTEGER *lpPerformanceCount // counter value);
计数器的值除以频率得到当前系统运行时间(秒):
LARGE_INTEGER startTime = (*lpPerformanceCount) /(*lpFrequency )
3.运行所需计时的代码段后再次获取性能计数器的值
BOOL QueryPerformanceCounter( LARGE_INTEGER *lpPerformanceCount2 // counter value);
计数器的值除以频率得到当前系统运行时间(秒):

通过QueryPerformanceFrequency获取CPU时钟频率,并结合QueryPerformanceCounter测量事件精确时间。计算两次QueryPerformanceCounter之间的差值,除以时钟频率得到所经历的时间。此方法可用于实现毫秒甚至更精确的计时。
最低0.47元/天 解锁文章
886

被折叠的 条评论
为什么被折叠?



