Java、LibGDX 将我的游戏锁定在每秒 30 帧

标签 java libgdx

我正在使用 LibGDX 进行 Java 游戏开发。

我在 Google 上进行了大量搜索,以找到问题的解决方案,但我发现大多数人实际上并没有锁定游戏,而是希望将其锁定。

这是我正在使用的配置代码

LwjglApplicationConfiguration config = new LwjglApplicationConfiguration();
...
config.width = 960;
config.height = 768;
config.backgroundFPS = 60;
config.foregroundFPS = 60;
config.vSyncEnabled = false;
...

我还尝试将 backgroundFPSforegroundFPS 设置为 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/

相关文章:

java - 如何销毁libgdx中的应用程序监听器对象

java - 如何在Eclipse中调试openjdk 9(主要是hotspot)源码?

java - 读取目标/测试类上的文件 FileNotFound

java - 如何从 FileItem 获取完整路径

java - 控制 Sprite 旋转(它疯狂地旋转)

java - 如何将播放器置于 libgDX 相机的中心

java - 在 Java 中使用自定义数字签名对 Pdf 进行签名

java - 如何从 map 中删除所有空元素?

android - Netbeans上的LibGDX-编译正常,但Nebeans说 “Package Android does not exist”

java - 在 LibGDX 中模糊屏幕