Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/210.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
Iphone OpenGL ES-大型地图,最佳实践_Iphone_Android_Opengl Es - Fatal编程技术网

Iphone OpenGL ES-大型地图,最佳实践

Iphone OpenGL ES-大型地图,最佳实践,iphone,android,opengl-es,Iphone,Android,Opengl Es,如果我只想渲染一张巨大的地图,那么在移动设备(基于Android或iPhone)上使用OpenGL ES的最佳实践是什么 包含所有顶点、法线和纹理坐标的最佳结构是什么 我想使用交错结构可能会给您带来一些内存缓存带来的性能优势。好吗 我应该使用DrawArray或drawElements将数据推送到OpenGL ES吗 我没有做任何测试,但我可能会想,如果GFX不使用共享内存,抽屉元素可能会更快,因为您不必推送那么多数据。既然这真的很接近metall,你觉得呢?(iPhone基于ARM,而Andr

如果我只想渲染一张巨大的地图,那么在移动设备(基于Android或iPhone)上使用OpenGL ES的最佳实践是什么

包含所有顶点、法线和纹理坐标的最佳结构是什么

我想使用交错结构可能会给您带来一些内存缓存带来的性能优势。好吗

我应该使用DrawArray或drawElements将数据推送到OpenGL ES吗

我没有做任何测试,但我可能会想,如果GFX不使用共享内存,抽屉元素可能会更快,因为您不必推送那么多数据。既然这真的很接近metall,你觉得呢?(iPhone基于ARM,而Android平台基于高通公司(也是ARM?)

致以最良好的祝愿


弗里德里希

我喜欢本文中提出的方法。查看幻灯片26-32

该演示文稿针对android,但也应适用于iPhone。基本上,检查您的GL扩展,如果您可以使用它们,顶点缓冲区对象就是一种方法


请记住,您的目标体系结构(在这两种情况下都是ARM)可能不会有FPU,因此状态更改将非常昂贵。

我喜欢本文介绍的方法。查看幻灯片26-32

该演示文稿针对android,但也应适用于iPhone。基本上,检查您的GL扩展,如果您可以使用它们,顶点缓冲区对象就是一种方法

请记住,您的目标体系结构(在这两种情况下都是ARM)可能不会有FPU,因此状态更改将非常昂贵。

从理论上讲,使用会产生最佳结果。你已经给出了理由

虽然我记得在斯坦福大学的一次iPhone开发讲座上听到过,但使用VBOs并不能产生比使用顶点指针更好的性能。再说一遍,这个信息有点过时了。因此,在iPhone上使用VBO绝对不是一个坏主意

在Android 1.5之前,OpenGL实现中有一个由GLD元素触发的错误。虽然我认为现在已经修好了,但我已经有一段时间没检查了

这里有一些关于如何最好地使用VBOs的知识。

理论上,使用VBOs应该会产生最好的结果。你已经给出了理由

虽然我记得在斯坦福大学的一次iPhone开发讲座上听到过,但使用VBOs并不能产生比使用顶点指针更好的性能。再说一遍,这个信息有点过时了。因此,在iPhone上使用VBO绝对不是一个坏主意

在Android 1.5之前,OpenGL实现中有一个由GLD元素触发的错误。虽然我认为现在已经修好了,但我已经有一段时间没检查了


这里介绍了如何最好地使用VBO。

对于大型结构,实现某种形式的剔除始终是一个很好的研究基础。对于贴图,在平截头体消隐处循环,以便对于大型结构仅渲染其一部分(可见的部分),实现某种形式的消隐始终是一个值得研究的问题。对于贴图,在平截头体消隐处循环,以便仅渲染其一部分(可见的部分)