在LibGDX中从纹理移动到TextureAtlas之后FPS下降

时间:2014-10-02 09:45:36

标签: libgdx textures frame-rate texturepacker texture-atlas

我前段时间开始使用LibGDX,我正在制作一个测试项目来适应这个库。我创建了一些图片并将它们添加到assets文件夹中,并使用Texture将每个图片作为AssetManager加载。一切都很好,我有60 FPS。

我想以更有效的方式工作,所以我使用TexturePacker工具将所有图像打包到地图集中。我再次使用AssetManager加载了地图册,并开始使用TextureRegion代替Texture s。

在这次改变之后,我开始注意到FPS突然从60降到50甚至30。我已经尝试将像素格式更改为RGBA4444,我确保min和mag滤镜都是Nearest,但我仍然看到那些恼人的帧丢失。

我在游戏本身并没有做任何沉重的事情,它目前是舞台上的一些演员。我有一些MoveActions和动画,但没什么特别的。

有没有人知道什么会导致FPS下降?

由于

1 个答案:

答案 0 :(得分:1)

感谢所有评论,我已经解决了这个问题。 我在渲染时调用了AssetManager.update,当它完成加载后,我将所有区域加载到静态字段中以便于访问。

问题在于,即使在我填充了所有字段之后,每次都会调用它。我猜所有重复的findRegion调用都会造成这些打嗝。所以基本上问题是渲染循环中的处理过多。

希望它会对某人有所帮助。