2010-07-23 9 views
12

Actualmente estoy trabajando en un par de sombreadores para un juego de iPad y parece que el compilador GLSL de Apple no está optimizando (o muy pocos). Puedo mover una sola línea en un sombreador y soltar mi FPS de 30 a 24, pero realmente no tengo idea de por qué sucede esto.PowerVR SGX535 Shader Performance (OpenGL ES 2.0)

¿alguien tiene alguna referencia para el siguiente:

  • qué instrucciones PowerVR son generados a partir de las instrucciones GLSL?
  • ¿Cuáles son los tiempos de las instrucciones de PowerVR?
  • qué tipo de unidades de procesamiento paralelo hay en el PowerVR535 y cómo pueden explotarse?

Gracias, Tristán

Respuesta

5

http://www.imgtec.net/factsheets/SDK/POWERVR%20SGX.OpenGL%20ES%202.0%20Application%20Development%20Recommendations.1.1f.External.pdf

Este Documet le ayudará a optimizar sus shaders para un máximo rendimiento. Apple también debería proporcionar información similar.

+2

Gracias por la respuesta. Lamentablemente, leyendo más PowerVR decidió no publicar el ensamblaje real que GLSL compila. La mejor apuesta que encontré fue el uso de PowerVRUniSCo para dar recuentos de ciclo para los sombreadores de vértices y fragmentos. Es molesto que esta herramienta solo esté disponible para PC y Linux. –

13

Imagination Technologies ha agregado soporte Mac recientemente para su compilador PVRUniSCo y editor de sombreador interactivo PVRUniSCoEditor. Estos pueden ser downloaded for free como parte del PowerVR SDK. El compilador tiene soporte tanto para la serie PowerVR SGX 53x como para la serie 540 en el iPad 2. Desafortunadamente, el editor funciona como una aplicación X11 torpe, pero al menos funciona ahora.

El editor le proporciona estimaciones línea por línea de la cantidad de ciclos de GPU necesarios en su vértice o fragmento de sombreado, así como las estimaciones más exactas del mejor y el peor de los ciclos totales requeridos.

He estado usando para perfilar mis iOS shaders, y que ha demostrado ser extremadamente útil en la búsqueda de puntos de acceso: PVRUniSCoEditor

+0

Genial para saber Nada era más molesto que arrastrar mi computadora para probar los tiempos. –

+1

Actualización de abril de 2013: el último SDK de PowerVR incluye herramientas (compilador de línea de comandos y editores de gui como PVRShaman y PVRShaderEditor) que no requieren X11, y puede anotar recuentos de ciclos estimados en el código de sombreado. – mattorb