在1帧中使用opengl es在ipad上绘制多少个最大三角形?

时间:2011-05-30 10:17:55

标签: iphone ipad opengl-es

在一帧中,可以在ipad上绘制多少个最大三角形。另外,用于绘制这些三角形的gl调用的数量是否有限制?

1 个答案:

答案 0 :(得分:5)

您在iPad上遇到的总三角形的唯一限制是内存大小以及您希望渲染的速度。您发送的顶点越多,应用程序将使用的内存越多,渲染速度就越慢。

例如,在我的基准测试中,我能够在iPad 1上使用OpenGL ES 1.1平滑着色,单个光源,存储在顶点缓冲对象(VBO)中的几何体以及由GLshorts表示的顶点,每秒超过1,800,000个三角形为了减少总尺寸。 iPad 2明显快于此速度,尤其是当您开始在片段着色器中执行更复杂的操作时。根据这个数字,如果我想在iPad 1上以60 FPS渲染,我可以估计我想在场景几何中使用少于30,000个三角形。

OpenGL ES 2.0着色器由于其复杂程度不同而使事情变得更复杂,但它们可以启用新效果,并且可以允许您使用更少的三角形来实现与固定功能管道相同的图像质量。

另一个例子,在this question中,Davido有一个大约有900,000个三角形的模型,他能够在iPad 2上以近10 FPS的速度渲染。我还在my answer there中提出了一些几何优化技术。当您在设备上maxing out tiler utilization时,发现对OpenGL ES 1.1渲染产生了重大影响。