我已经阅读了一些有关QPC实现的问题和不准确性的信息。但是所有这些讨论和文章似乎都过时了。
有人知道最新的Win7 OS和Intel/AMD cpus上QPC功能的当前状态吗?有没有改进?是例如Turbo Boost还是一个大问题?
我主要对此感兴趣,因为我需要决定在应用程序中使用timeGetTime和QueryPerformanceCounter进行计时。
最佳答案
QPC早在Microsoft之前就已对软件进行了修补(有关问题的旧kb文章:http://support.microsoft.com/kb/895980)。可以将此修补程序安装在任何目标系统上(我已经看过一些游戏可以这样做),但是不需要使用此修补程序。所有较新的处理器都对此进行了硬件修复/补偿,以及在内核之间正确同步了TSC,因此消除了基于RDTSC
的计时器的问题。可以从这里获得此热修复程序:http://support.microsoft.com/?id=896256我不确定其他系统是否有此修复程序,但是从外观上看,此修复程序在基于Windows Vista和Windows 7的OS中是固有的。至于准确性的问题,这取决于硬件本身,但是微软表示QPC是您可以获得的(性能不错)最可靠的计时器,因此缺少内联__rdtsc()
,我怀疑您会获得更准确的计时器。