【发布时间】:2019-07-06 23:40:18
【问题描述】:
我最近正在开发一款二维 Android 游戏,我正在使用 GLSurafaceView (OpenGL ES) 来渲染纹理。我将图形组合成精灵表并将它们加载到设备内存(GPU)中。最近图形的数量增长了不少..
我需要决定哪种方法更好以及为什么。因此,我应该加载 2-3 个大的 2048x2048 sprite-sheets,还是 8-12 个较小的 1024x1024 sprite-sheets?
这些方法将如何影响性能、游戏加载时间、内存消耗?
【问题讨论】:
-
@MorrisonChang 谢谢,顺便说一句,我已经读过这些了。在 Android 的情况下仍然不确定,也许具有特定 Android/GLSurfaceView 经验的人会提供更准确的答案..
-
如果您正在尝试优化您的图形,那么您可能需要提供有关您如何实现游戏的更多信息。你使用了 OpenGL ES 1.x/2.x 还是 3.x,你使用了VBOs,你使用了任何Texture Compression吗?您的最低硬件/目标硬件是多少?
-
@MorrisonChang,OpenGL ES 1.0,我的目标是所有 Android 设备,该应用程序在商店中是公开的,它在我可能需要的所有设备上运行没有任何问题,我只是想选择一个更好的方法具有精灵表大小。
-
OpenGL ES 1.x 基本上已经过时 - 没有新游戏应该瞄准它。市场上几乎所有的 Android 设备都支持 OpenGL ES 2.0,因此这是一个合理的最低标准(并且比 ES 1.x 更具前瞻性,因为 3.x 基本上只是 2.0 的超集)。
标签: android graphics opengl-es textures