我使用LibGDX在Java中进行游戏开发。
我已经在Google上进行了广泛的搜索,以找到问题的解决方案,但我发现大多数人实际上并没有将游戏锁定并希望锁定。
这里是配置代码I' m
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。
答案 0 :(得分:1)
-1。如果您使用的是fpsLogger,请尝试使用步骤2中的代码或Fraps。
0。禁用Vsync或启用它。
1。如果您正在使用Fraps,有时可能会出现问题。它偶尔会显示30 fps。
2。打印if curl WEBSITEURL | grep -c "incident-title" > 0; then printf "Investigating Issue"; else printf "Fully Operational"; fi
以查找您的真实fps。
3。不要设置backgroundFPS和foregroundFPS。
4. 确保您没有使用Gdx.graphics.getDeltaTime()
功能。你可能会把它放在前面并忘记它。
5. 重新启动计算机。如果你真的找不到问题的根源,这可能会有所帮助。也许您的计算机很累或图形驱动程序出现问题。
6. 在其他系统上试用。此问题可能是由您的设置引起的。
7. 要查看问题是否在您的计算机或项目中,请创建一个新项目并测量其fps。
答案 1 :(得分:0)
我在其他人的计算机上测试了该程序,它以60fps的速度运行而没有任何问题。
事实证明我的电脑使用的是集成显卡而不是我的高性能显卡。在强制Java使用显卡后,它现在以60fps运行。