libGDX 文档解释了如何将纹理绑定到 SpriteBatch...
如果 [SpriteBatch] 被赋予与上一个纹理不同的纹理,则它绑定最后一个纹理,提交收集的要绘制的几何图形,并开始为新纹理收集几何图形。
每隔几个绘制的矩形更改纹理会阻止 SpriteBatch 批量处理大量几何体。此外,绑定纹理是一项昂贵的操作。由于这些原因,通常将许多较小的图像存储在较大的图像中,然后绘制较大图像的区域以最大化几何批处理并避免纹理更改。
出于这个原因,我将我所有的游戏精灵图像排列成一个纹理。但是,我现在希望在我的游戏中放置一个大的背景图像来填满整个屏幕。
我的选择似乎是...
将背景放在我用于较小游戏精灵的相同纹理中,或者...
使用单独的纹理作为背景。
#1的问题是,如果我想为不同的级别使用不同的背景图像,这似乎非常不切实际(我的图像变得非常大,或者我必须为每个不同的背景在多个图像中复制我的游戏精灵)
但是如果我做#2,那么我必须在每次提交到 GPU 之前将 SpriteBatch 绑定到 2 个不同的纹理,文档将其描述为“相当昂贵”。
我不知道最好的方法是什么。我真的需要担心绑定到多个纹理吗?或者有没有我没有考虑过的更好的方法?
寻求任何建议,谢谢!