HPET是否可以在Windows中直接访问?

我想使用高性能事件计时器(HPET)来进行性能分析工具,以便快速进行非常高精度的测量。 timeGetTime在1ms时不能提供足够的分辨率,QueryPerformanceCounter每次读取都比我想要的慢得多。 我在研究这个问题的时候遇到了HPET,但是我看不到有什么样的实际情况。

所以我可以直接使用它(汇编是否正常),还是必须依赖Win32 API中内置的多媒体/高性能计时工具?

Solutions Collecting From Web of "HPET是否可以在Windows中直接访问?"

我在挖掘时发现了这个信息 ,而且它似乎是最具成本效益的方法。 当我深入挖掘装配时,我会尝试一下。 🙂

UPDATE

我用我的分析器测试了这个。 虽然有点快,但似乎我仍然有其他开销:(吨我没有打扰与时间,因为我似乎没有足够的好处)

我也有兴趣使用HPET,但作为一个计时器。 我的理解是,QueryPerformanceCounter和QueryPerformanceFrequency实际上是访问HPET的计数器和时钟,并且这在Windows XP下是可用的(例如, 参见http://www.geisswerks.com/ryan/FAQS/timing.html ) 。

所以就定时代码而言,我认为通过使用QueryPerformanceCounter,你实际上可以访问构成HPET基础的计数器,而这一切都存在于芯片组(而不是处理器)中。