我想将高性能事件计时器(HPET)用于分析工具,以便快速进行高精度测量。 timeGetTime在1ms时没有提供足够的分辨率,而QueryPerformanceCounter每次读取的速度比我想要的慢得多。我在研究这个问题时遇到了HPET,但我看不到任何关于如何实现这个问题的样本。
我可以直接使用它(程序集很好),还是我必须依赖Win32 API中内置的多媒体/高性能计时工具?
答案 0 :(得分:1)
我也对使用HPET感兴趣,但作为计时器。我理解它的方式,QueryPerformanceCounter和QueryPerformanceFrequency实际上访问HPET的计数器和时钟,这适用于Windows XP(例如,参见http://www.geisswerks.com/ryan/FAQS/timing.html)。
就时间码而言,我认为通过使用QueryPerformanceCounter,您实际上可以访问构成HPET基础的计数器,而这一切都存在于芯片组中(而不是处理器)。
答案 1 :(得分:-2)
我在挖掘时发现this info,似乎它可能是最具成本效益的方式。当我深入了解装配时,我会尝试一下。 :)
<强>更新强>
我用我的探查器对此进行了测试。虽然速度有点快,但似乎我还有其他的开销:((我没有打扰时间,因为它似乎没有足够的好处)