试图创造一个一致/准确的时间循环



我正在为游戏和什么不是,我试图寻找一种方法来找到一个持续的定时循环,现在我明白windows不是一个实时操作系统(RTOS),我只是想知道什么是最可靠的方法是我想做的。我目前的方法只是线程和睡眠。如果你能给我提供一个代码样本上最好的方法来使用,那将是伟大的。另外一个附带问题是c++在计时方面更准确吗?

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

这个术语是delta-time——这通常意味着在游戏开发的背景下,从最后一帧开始的时间变化。例如,如果你的游戏以60 fps的速度运行,那么你的增量时间通常在16毫秒左右,或0.016秒。

如果你开始使用增量时间搜索,你会发现更多有用的结果。例如:

  • https://gamedev.stackexchange.com/questions/67651/what-is-the-standard-c-windows-forms-game-loop
  • 使用计时器和游戏循环

最新更新