尝试制作一致/准确的定时循环

时间:2016-09-26 06:17:27

标签: c# real-time timing rtos

我正在制作一个游戏的快速计划,什么不是,我正在寻找一种方法来获得一致的定时循环,现在我明白Windows不是一个实时操作系统(RTOS) ,我只是想知道最可靠的方法是什么,我正在尝试做什么。我目前的方法只是线程和睡眠。如果你能提供一个关于最佳使用方法的代码示例,那就太棒了。另外一个侧面问题是C ++在计时方面更准确吗?

1 个答案:

答案 0 :(得分:2)

除非您在专用硬件上工作,否则您无法保证循环时间的任何一致性,因为您无法控制同一系统上运行的其他内容,但您可以解决它通过将循环的每次迭代之间经过的时间分解为计算。

这个术语是delta-time - 这通常意味着自游戏开发环境中最后一帧以来的时间变化。例如,如果您的游戏以60 fps运行,那么您的增量时间通常约为16毫秒,或0.016秒。

如果您开始使用delta-time进行搜索,您会发现更多有用的结果。 例如: