【发布时间】:2014-07-23 14:53:27
【问题描述】:
我正在使用 already existing engine 在 Android 中开发游戏。
我必须为我的动画使用大纹理,我想知道什么是更好的性能。 新版本的引擎支持 npot 纹理(如果你问自己为什么我使用这样的分辨率)。
拥有多个 2330x1100 纹理图集还是只有一个 2330x(1100 x number_of_textures_i_need) 纹理图集更好? 这种选择会影响加载时间吗?(我认为它们需要的内存是相同的,因为它们包含相同数量的像素)
我在某处读到切换纹理可能是一个缓慢的操作..
支线任务:
1) 罐纹理更有效(在环境构建中以便它可以处理 npot 纹理)?
2) 我可以只使用一个纹理达到某个尺寸/内存限制吗?
【问题讨论】:
-
使用一个大纹理或将它们分开应该没有太大区别。只要您事先上传所有纹理即可。在渲染过程中更新如此大的纹理可能是非常耗时的操作。至于内存使用,例如使用 RGB_565,您拥有的一个这样的纹理大约需要 5MB 内存 - 所以是的 - 您可能会遇到一些内存限制。
-
@harism 谢谢!是的,它只在应用程序启动时加载一次。移动设备上的 vmemory 这么低吗?
-
实际上,内存使用可能不是您最关心的问题,而是图像尺寸。如果在 IPad2 上的纹理大小限制为 2048x2048,那么如果在一般的 Android 设备上较少,我不会感到很惊讶。
标签: android opengl-es opengl-es-2.0