2010-06-25 6 views
5

Estoy tratando de aumentar mi FPS en el iPhone 3G desde el 30 a la máxima posible ... y me estoy encontrando con un par de problemas y pensé que sería mejor pide consejo.Optimización de OpenGL ES en el iPhone e interpretación de instrumentos

1) ¿Qué significa exactamente las columnas de Utilización de Renderer y Uso de Solado en el Instrumento OpenGL ES? El porcentaje de My Tiler Utiliation es extremadamente bajo y mi Renderer Utilization tiende a disminuir durante la interacción del usuario y cuando la aplicación cambia al modo horizontal. Noté que mi FPS tiende a caer cada vez que el valor de la utilización del Renderer también baja. Mi caída de FPS durante el modo de paisaje es particularmente extraña para mí, porque el modo vertical y el modo horizontal usan exactamente la misma lógica de juego, y las texturas ... y el modo horizontal realmente genera menos vértices/triángulos para arrancar (algunas partes de la IU no son dibujado en absoluto en modo horizontal).

2) Ya he hecho la mayoría de las optimizaciones recomendadas en los videos ngmoco/Stanford, y las únicas cosas que creo que puedo hacer son cambiar GLfloats a GLshorts e intercalar mis vértices con mis coordenadas de textura en una matriz. ¿Alguno de estos tiene grandes efectos en mi FPS? Es un juego de sprites en 2D con muchas texturas grandes y detalladas ...

3) Que es una manera más rápida de ocultar un polígono: establecer todos sus vértices en las mismas coordenadas (esencialmente, reduciéndolo a un punto), o estableciendo su valor alfa en 0? Supongo que es el primero, ya que la fusión es más lenta en general y particularmente costosa en el iPhone.

4) Actualmente, estoy usando texturas de 2 512x512, una textura de 1024x512 y una textura de 256x256. He buscado consejos sobre cómo gestionarlo mejor, y me dijeron que no los combinara en una textura de 1 1024x1024 debido a problemas de memoria en el iPhone 3G. Me gustaría confirmarlo aquí, porque si pongo todo en 1 textura, puedo erradicar tener que llamar glBindTexture repetidamente ...

Respuesta

0

A # 4: (a) Sí, el iPhone está documentado para no tratar con imágenes más grandes que 1024 en un lado. 1024x1024 es el límite teórico máximo, aunque puede tener problemas si intenta empujarlo hasta el límite.

(b) todas sus texturas no caben en un 1024x1024; después de que 1024x512 y 2 512x512s llenen ese espacio, aún le quedarán 256x256.

Cuestiones relacionadas