来自 Windows 平台,我通常使用 Windows Multimedia Timer 来生成分辨率为 1 ms +-1ms 的周期性回调。所以我确实可以每秒产生 1000 个相当等距的回调。为了在不忙于等待的情况下达到此精度,MS 使用了高精度事件计时器,它直接访问硬件驱动程序。
我希望找到类似 boost 库之类的东西,以便为这些高精度计时器提供跨平台实现。但我发现的只是 Boost-ASIO 计时器。由于他们根本不谈论精度,我认为他们不会满足高精度的要求。10ms 的抖动会很大。
那么..是否有类似高精度事件计时器的跨平台实现?或者 Boost-ASIO 可能已经足够精确了?也许 Boost 在内部使用 HPET,只是没有在任何地方提及它。