Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android OpenGL ES 2-一个大纹理与多个小纹理图集。什么';从性能上看,它更好吗?_Android_Opengl Es_Opengl Es 2.0 - Fatal编程技术网

Android OpenGL ES 2-一个大纹理与多个小纹理图集。什么';从性能上看,它更好吗?

Android OpenGL ES 2-一个大纹理与多个小纹理图集。什么';从性能上看,它更好吗?,android,opengl-es,opengl-es-2.0,Android,Opengl Es,Opengl Es 2.0,我正在用Android开发一个游戏 我必须为我的动画使用大纹理,我想知道什么性能更好。 新版本的引擎支持npot纹理(如果你问自己为什么使用这种分辨率) 最好有多个2330x1100纹理图集,还是只有一个2330x(1100 x所需数量的纹理)纹理图集? 这个选择会影响加载时间吗?(我认为它们需要的内存是相同的,因为它们包含相同数量的像素) 我在某个地方读到,切换纹理可能是一个缓慢的操作 次要任务: 1) pot纹理是否更有效(在可以处理npot纹理的环境构建中) 2) 仅使用一个纹理是否可以达

我正在用Android开发一个游戏

我必须为我的动画使用大纹理,我想知道什么性能更好。 新版本的引擎支持npot纹理(如果你问自己为什么使用这种分辨率)

最好有多个2330x1100纹理图集,还是只有一个2330x(1100 x所需数量的纹理)纹理图集? 这个选择会影响加载时间吗?(我认为它们需要的内存是相同的,因为它们包含相同数量的像素)

我在某个地方读到,切换纹理可能是一个缓慢的操作

次要任务:

1) pot纹理是否更有效(在可以处理npot纹理的环境构建中)


2) 仅使用一个纹理是否可以达到某些维度/内存限制?

一个大纹理应该更好,因为加载和激活速度较慢,因为内存上载到视频内存。它还应该使用更少的能源,从而提高用户体验;-)


试试看——然后编写一个长时间运行的测试来证明这一点。

使用一个大纹理或将它们分开应该没有多大区别。只要你事先上传所有的纹理就可以了。在渲染过程中更新如此大的纹理可能是非常耗时的操作。至于内存使用,例如,使用RGB_565,您拥有的一个这样的纹理需要大约5MB的内存-是的-您可能会遇到一些内存限制。@harism谢谢!是的,它只在应用程序启动时加载一次。移动设备上的vmemory有那么低吗?事实上,它可能是这样的:内存使用不是你最关心的问题,而是图像尺寸。若IPad2上的纹理大小限制是有限的,那个么若Android设备上的纹理大小一般都比较小,我也不会感到惊讶。