C++ 查询性能计数器状态?

C++ 查询性能计数器状态?,c++,winapi,performancecounter,C++,Winapi,Performancecounter,我已经阅读了一些关于QPC实施的问题和不准确的信息。但所有这些讨论和文章似乎都过时了 有人知道最新Win7操作系统和Intel/AMD CPU上QPC功能的当前状态吗?有什么改进吗?例如,涡轮增压仍然是一个大问题吗 我主要对此感兴趣,因为我需要决定在我的应用程序中使用timeGetTime和QueryPerformanceCounter进行计时。QPC是微软多年前在软件方面修补的(关于这个问题的旧kb文章:)。这个补丁可以安装在任何目标系统上(我已经看过一些游戏这样做了),但它不应该是必要的。所

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

有人知道最新Win7操作系统和Intel/AMD CPU上QPC功能的当前状态吗?有什么改进吗?例如,涡轮增压仍然是一个大问题吗


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

QPC是微软多年前在软件方面修补的(关于这个问题的旧kb文章:)。这个补丁可以安装在任何目标系统上(我已经看过一些游戏这样做了),但它不应该是必要的。所有较新的处理器都对此进行了硬件修复/补偿,并使TSC在内核之间正确同步,因此消除了基于
RDTSC
的计时器的问题。热修复可以从这里得到:我不确定是否有任何其他系统,但从它的外观来看,这个修复是在WindowsVista和基于Windows7的操作系统中固有的。至于准确度的问题,这取决于硬件本身,但是微软说QPC是你能得到的最可靠准确的计时器(性能相当好),所以缺少内联
\urdtsc()
,我怀疑你能得到更多的准确度

QPC已经稳定了很长一段时间。分辨率和准确性的问题基本上是机器特有的,这是永远不会改变的。@Hans:很高兴听到QPC是稳定的。但是,机器特定问题的状态如何?这种问题在现代硬件中仍然很常见吗?@Cat:还有许多其他问题。@ronag:机器特定问题的状态显然是机器特定的。但由于没有驱动程序/固件/硬件缺陷,QPC工作正常,是Windows上高分辨率计时器的最佳选择。