首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >跨平台C++高精度事件计时器实现

跨平台C++高精度事件计时器实现
EN

Stack Overflow用户
提问于 2015-03-25 16:55:22
回答 1查看 1.6K关注 0票数 1

来自Windows平台,我通常使用Windows多媒体计时器产生一个分辨率为1ms +-1ms的周期性回调。所以我可以每秒产生1000个等距的回调。为了在不做繁忙等待的情况下实现这种精确性,MS使用了高精度事件计时器,它直接访问硬件驱动程序。

我希望找到类似boost库之类的东西,为这种高精度计时器提供跨平台实现。但我只发现了助推的ASIO定时器。因为他们根本不谈精度,所以我认为他们不能满足高精度的要求。一个10毫秒的抖动将是相当大的方式。

所以..。是否有类似于高精度事件计时器的跨平台实现?或者Boost-ASIO已经足够精确了?也许在内部推动使用HPET,只是没有提到它。

EN

回答 1

Stack Overflow用户

发布于 2015-03-27 10:42:02

没有任何实现能够保证整个宇宙的1ms分辨率(PC,xbox,android手机,.)。所有的实现都必须依赖于操作系统来提供这个解决方案,并且操作系统需要硬件支持。实现通常会降低分辨率,而OSes在不同的HW上也是如此。

Boost (和新的C++标准)提供了一个通用接口,但不能保证1ms。它们提供了在特定平台上所能得到的最好结果。您可以在运行时获取有关解析的信息并拒绝运行。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29261814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档