我正在使用 LibGDX 进行 Java 游戏开发。
我在 Google 上进行了大量搜索,以找到问题的解决方案,但我发现大多数人实际上并没有锁定游戏,而是希望将其锁定。
这是我正在使用的配置代码
LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
...
config.width = 960;
config.height = 768;
config.backgroundFPS = 60;
config.foregroundFPS = 60;
config.vSyncEnabled = false;
...
我还尝试将 backgroundFPS
和 foregroundFPS
设置为 0。
如果我将其设置为 20,它实际上会将游戏限制为 20fps。有什么办法解决这个问题吗?
我知道它没有做太多工作,因为我只用帧率记录器测试了游戏循环,但它仍然停留在 30。
最佳答案
-1. 如果您使用的是 fpsLogger,请尝试使用步骤 2 中的代码或 Fraps。
0. 禁用或启用垂直同步。
1. Fraps 有时可能会出现问题,如果您正在使用它的话。有时它会显示 30 fps,但实际上并非如此。
2.打印Gdx.graphics.getDeltaTime()
来找出你的真实fps。
3.不要设置backgroundFPS和foregroundFPS。
4. 确保您没有使用 Thread.sleep()
函数。您可能以前说过,然后就忘记了。
5.重新启动计算机。如果您确实找不到问题的根源,这可能会有所帮助。可能是你的电脑太累了或者显卡驱动有问题。
6.在另一个系统上尝试一下。此问题可能是由您的设置引起的。
7. 要查看问题是否出在您的计算机或项目中,请创建一个新项目并测量其 fps。
关于Java、LibGDX 将我的游戏锁定在每秒 30 帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35073793/