2011-05-30 7 views
5

Cuantos triángulos máximos se pueden dibujar en ipad en un solo cuadro. Además, ¿hay un límite en la cantidad de llamadas gl utilizadas para dibujar esos triángulos?¿Cuántos triángulos máximos se pueden dibujar en ipad utilizando ventanas abiertas en 1 marco?

+0

Esto depende en gran medida de cómo dibujarlos. ¿Usas VBO? ¿Qué tipo de datos usas? ¿Tienes un stencil y un buffer de profundidad? ¿Cuántas texturas necesitas atar? ¿Qué tan grandes son estas texturas? ¿Qué estás haciendo en tu vértice y sombreadores de fragmentos? ¿O usas OpenGL ES 1.1? – JustSid

+0

1) yo uso OISCIV 2) GLfloat, GLushort 3) de profundidad 4) 50 5) 1024 * 1024 6) no hay shaders 7) 1,1 – kd3D

Respuesta

5

El único límite en triángulos totales con los que se encontrará en el iPad es en términos de tamaño de la memoria y qué tan rápido desea que se muestre. Cuantos más vértices envíe, más memoria usará su aplicación y más lenta será.

Por ejemplo, en mis puntos de referencia pude empujar más de 1,800,000 triángulos por segundo en un iPad 1 usando el sombreado suave OpenGL ES 1.1, una única fuente de luz, geometría almacenada en objetos de búfer de vértice (VBO) y vértices representados por GLshorts para minimizar el tamaño total. El iPad 2 es significativamente más rápido que eso, especialmente cuando comienzas a hacer operaciones más complejas en tus sombreadores de fragmentos. A partir de ese número, puedo estimar que me gustaría tener menos de 30,000 triángulos en la geometría de mi escena si quisiera renderizar a 60 FPS en el iPad 1.

Los sombreadores OpenGL ES 2.0 hacen las cosas más complicadas debido a su complejidad variable, pero permiten nuevos efectos y pueden permitirle utilizar menos triángulos para lograr la misma calidad de imagen que la tubería de función fija.

Para otro ejemplo, en this question Davido tiene un modelo con cerca de 900.000 triángulos que él es capaz de hacer en casi 10 FPS en un iPad 2. También presento algunas técnicas de optimización de la geometría en my answer there que he encontrado que tienen una significativa impacto en la representación de OpenGL ES 1.1 cuando está maxing out tiler utilization en el dispositivo.

+0

I trató de ir con GLshort para mis vértices pero entonces don' para hacer que mi escena se renderice correctamente (a los objetos les faltaba su forma) Entonces, recurrí a reducir mi geometría y la he dividido en partes para que se dibujen solo cuando están a la vista – kd3D

+0

También mi utilización del renderizado es 100% pero la utilización del solador 62% – kd3D

+0

@ kd3D: debe tener en cuenta el hecho de que GLshort tiene un rango de -32768 a 32768, y ajusta su procesamiento de forma adecuada cuando lo utiliza. Sin embargo, ya no lo recomiendo en OpenGL ES 2.0, porque en la serie PowerVR SGX se debe realizar una conversión para obtener el formato de punto flotante dentro de la GPU. En su caso, parece que la tasa de relleno es limitada, por lo que no está realmente teniendo un problema en cuanto a la representación de triángulos. En su lugar, debe reducir el número de fragmentos procesados ​​y el trabajo realizado por fragmento. –

Cuestiones relacionadas