在 OpenGL 中加载更多较小的纹理与加载少量大纹理 Android

Loading more smaller textures vs. loading few large textures in OpenGL Android

我最近正在开发一个 2-D Android 游戏,我正在使用 GLSurafaceView (OpenGL ES) 渲染纹理。我将图形组合成精灵表并将它们加载到设备内存 (GPU) 中。最近图量增长了不少..

我需要决定哪种方法更好以及为什么。因此,我应该加载 2-3 个大的 2048x2048 精灵表,还是加载 8-12 个较小的 1024x1024 精灵表?

这些方法如何影响性能、游戏加载时间、内存消耗?

通常情况下,较大的 Sprite 表越少越好,因为:

  • 需要更少的状态更改。
  • 更容易批量绘制调用。

也就是说,8-12 张在我的书中不算多。如果你有几百,我就会开始担心了 ;)