如何针对不同的FPS改编游戏?

时间:2018-03-05 17:01:28

标签: game-engine frame-rate game-loop

我正在开发一款单人游戏。我使用的引擎是我自己的。我对如何针对不同的FPS调整游戏感到困惑。 无论计算机可以使用多少帧,我都希望看到相同的游戏速度。我的意思是如果你的计算机足够强大,每秒可以绘制1000次,或者只有20帧,那么你的游戏速度应该是相同的。

我试图根据FPS自动更改移动参数,但似乎无法连接它。

实际上,我有一些决定,但它们并不理想:

第一个是将FPS限制为30(例如),因此,即使是性能不佳的计算机也可以正确显示游戏。 - 这是一个非常简单的决定,但运动的平滑性并不是最好的。

第二个:游戏循环(因此,所有计算)都以最大频率(60 FPS)进行,但屏幕根据计算机性能以一定速率绘制。 - 在这种情况下,RAM负载更重。

1 个答案:

答案 0 :(得分:0)

与delta时间无关的帧率(自上次渲染以来经过的时间)是解决方案。

这是一篇关于delta时间的详细文章,其中包含大量代码示例: https://isaacsukin.com/news/2015/01/detailed-explanation-javascript-game-loops-and-timing我认为您不需要像文章所描述的那样深入解决方案。

以下是对此概念的解释: https://www.reddit.com/r/pcmasterrace/comments/29qcqr/an_explanation_of_game_loops_fps_and_delta_time/