gpt4 book ai didi

java - 使用和不使用 Display.sync() 的 LWJGL 帧率

转载 作者:行者123 更新时间:2023-11-30 04:15:13 25 4
gpt4 key购买 nike

这是我很久以来一直好奇的事情。我有一个在几何方面相当基本的游戏(二维的几千个四边形),当我不使用 Display.sync() 时,我得到的帧速率约为 550。然而,当游戏需要执行一些大量计算时(当世界发生变化时),FPS 会下降到~480。当我每次迭代调用 Display.sync(60) 时,FPS 上限为 60,但是当执行相同的计算时,FPS 会下降到大约 52,并且游戏会有点卡顿。这比实际问题更令人烦恼,但我仍然很好奇为什么会发生这种情况。为什么 FPS 完全有能力保持在 60 以上时却降到了 60 以下,而且有办法防止这种情况发生吗?

最佳答案

我没有直接使用 LWJGL 的经验,但很明显,当您指定 60 FPS 时,它实际上并没有测量实时 FPS 并考虑它。在理想情况下,它可能只是 hibernate 60 FPS 所需的时间,无需执行其他工作。

正如我所说,我不知道 LWJGL 的具体情况,但通常将主游戏线程与图形线程分开。即使在单核系统上,这也将提高性能,因为图形线程 hibernate 所花费的时间可用于游戏线程上的计算。现在无论如何,时间都花在 sleep 上了。使用单独的线程也更好,因为游戏的速度不再与图形 FPS Hook 。

关于java - 使用和不使用 Display.sync() 的 LWJGL 帧率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18563679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com