以接近实时间隔调用函数

时间:2013-04-21 20:29:29

标签: c++ windows cross-platform

我正在开展一个模拟项目,但我遇到了一个问题。

我有一个名为step()的函数,它由main()中的循环调用。

需要以精确的实时间隔调用此函数。我已经实现了一个解决方案with std::this_thread::sleep_for,但正如它所说,它在给定时间内睡眠at least。随着步骤变小,问题变得越来越大。实时(前进)和模拟时间之间的差异在实际时间的第10秒变为1秒,使用20ms步长。

我遇到了multimedia timers,在实施之前我有两个问题。

是否有跨平台方法而不是multimedia timers? (除了明显的cpu杀手while();循环)

多媒体定时器是否足够至少1毫秒线程暂停&恢复准确度?

0 个答案:

没有答案