我前段时间开始使用LibGDX,我正在制作一个测试项目来适应这个库。我创建了一些图片并将它们添加到assets文件夹中,并使用Texture
将每个图片作为AssetManager
加载。一切都很好,我有60 FPS。
我想以更有效的方式工作,所以我使用TexturePacker工具将所有图像打包到地图集中。我再次使用AssetManager
加载了地图册,并开始使用TextureRegion
代替Texture
s。
在这次改变之后,我开始注意到FPS突然从60降到50甚至30。我已经尝试将像素格式更改为RGBA4444,我确保min和mag滤镜都是Nearest
,但我仍然看到那些恼人的帧丢失。
我在游戏本身并没有做任何沉重的事情,它目前是舞台上的一些演员。我有一些MoveActions和动画,但没什么特别的。
有没有人知道什么会导致FPS下降?
由于
答案 0 :(得分:1)
感谢所有评论,我已经解决了这个问题。
我在渲染时调用了AssetManager.update
,当它完成加载后,我将所有区域加载到静态字段中以便于访问。
问题在于,即使在我填充了所有字段之后,每次都会调用它。我猜所有重复的findRegion
调用都会造成这些打嗝。所以基本上问题是渲染循环中的处理过多。
希望它会对某人有所帮助。