QueryPerformanceCounter状态?

时间:2011-09-02 18:19:47

标签: c++ winapi performancecounter

我已经阅读了一些有关QPC实施的问题和不准确的内容。但所有这些讨论和文章似乎都过时了。

任何人都知道最新Win7操作系统和Intel / AMD cpu上QPC功能的当前状态是什么?有没有改进?是例如Turbo Boost仍然是个大问题?

我主要对此感兴趣,因为我需要决定在我的应用程序中使用timeGetTime和QueryPerformanceCounter进行计时。

1 个答案:

答案 0 :(得分:4)

QPC在很久以前被微软软件方面修补了(关于这个问题的老kb文章:http://support.microsoft.com/kb/895980)。这个修复程序可以安装在任何目标系统上(我已经看过一些游戏这样做了),但不应该需要它。所有较新的处理器都具有硬件修复/补偿功能,并且TSC在内核之间正确同步,因此消除了基于RDTSC的定时器的问题。热修复可以从这里得到:http://support.microsoft.com/?id=896256我不确定是否有其他系统的任何东西,但从它的外观来看,这个修复在Windows Vista和基于Windows 7的操作系统中是无效的。至于准确性的问题,这取决于硬件本身,但微软说QPC是你可以得到的最可靠准确的计时器(具有不错的性能),如此短的内联__rdtsc(),我怀疑你会得到任何更准确的。

相关问题