libGDX:Android设备上的FPS较低

3
在我的游戏中,我创建了许多循环和方法在render中。我的笔记本电脑的FPS范围从5660,这是可以接受的。然而,当我在Galaxy Note 4上运行Android操作系统时,FPS范围从2445,这是不可接受的。
现在我需要一个新的渲染线程,与之同步渲染:
Gdx.app.getApplicationListener().render();

有人能帮我解决这个问题吗?


1
由于您没有提供足够的信息,很难判断是什么导致了您的FPS下降。不过,您可以阅读这个问题,也许会有所启发:https://dev59.com/wXPYa4cB1Zd3GeqPntOj#17360381 - Kumar Saurabh
哇,libgdx中甚至可以有2个渲染线程?为什么需要这样做呢? - Nanoc
非常感谢@KumarSaurabh,我已经在渲染中创建了对象,所以我使用了pool<Object>,帧率还不错。就是这样。再次感谢。 - iibrahimbakr
1个回答

4
即使是一台低端笔记本电脑通常也比高端智能手机拥有更多的处理能力,因此在您的笔记本电脑上运行流畅的内容可能会在您的Galaxy Note上严重滞后。
由于您在问题中几乎没有提供任何信息,因此我可以建议的方法是一般性的:
- 对您的手机上的游戏进行分析,找出可能存在的瓶颈,以便您可以解决它们。具体方法请参见:http://developer.android.com/tools/debugging/debugging-tracing.html - OpenGL分析也将非常有帮助,您可以使用它来监视上下文切换等。具体方法请参见:https://github.com/libgdx/libgdx/wiki/Profiling - 另外,作为一个经验法则,请不要在渲染循环中创建新对象,或者如果绝对必要,则尽可能少地创建它们。在开始时初始化一个可重用对象池将对您有所帮助。具体方法请参见:https://github.com/libgdx/libgdx/wiki/Memory-management

我明白了。@Davlumbaz,我已经在渲染中创建了对象 :(. 所以,我使用了演员池。我的问题得到了解决,FPS也会没问题 :) 。再次感谢。 - iibrahimbakr

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接