当前位置:  开发笔记 > 编程语言 > 正文

CPU时钟频率因而QueryPerformanceCounter错了吗?

如何解决《CPU时钟频率因而QueryPerformanceCounter错了吗?》经验,为你挑选了0个好方法。

我正在使用QueryPerformanceCounter来计算一些代码.当代码开始报告时间明显错误时,我感到震惊.要将QPC的结果转换为"实际"时间,您需要除以QueryPerformanceFrequency返回的频率,因此经过的时间为:

时间=(QPC.end - QPC.start)/ QPF

重启后,QPF频率从2.7 GHz变为4.1 GHz.我认为实际硬件频率没有改变,因为运行程序的挂钟时间没有变化,尽管使用QPC报告的时间确实发生了变化(下降了2.7/4.1).

MyComputer-> Properties显示:

英特尔(R)奔腾(R)4 CPU 2.80 GHz; 4.11 GHz; 1.99 GB的RAM; 物理地址扩展

除此之外,该系统似乎工作正常.

我将尝试重新启动以查看问题是否清除,但我担心这些关键性能计数器可能会在没有警告的情况下变为无效.

更新:

虽然我很欣赏答案,特别是链接,但我没有受影响的芯片组,也没有自己的CPU时钟.根据我的阅读,QPC和QPF基于PCI总线中的定时器,不受CPU时钟变化的影响.在我的情况下奇怪的是QPF报告的FREQUENCY变为不正确的值,并且在MyComputer - > Properties中也报告了这种变化的频率,我当然没有写.

重新启动修复了我的问题(QPF现在报告正确的频率),但我认为如果你打算使用QPC/QPF,你应该在信任它之前对另一个计时器进行验证.

推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有