2010-07-23 22 views
12

Attualmente sto lavorando su un paio di shader per un gioco per iPad e sembra che il compilatore GLSL di Apple non stia facendo alcuna ottimizzazione (o pochissimi). Posso spostare una sola riga in uno shader e rilasciare il mio FPS da 30 a 24, ma non ho davvero idea del perché stia succedendo.PowerVR SGX535 Shader Performance (OpenGL ES 2.0)

Qualcuno ha tutti i riferimenti per i seguenti motivi:

  • quali istruzioni PowerVR sono generate da istruzioni GLSL?
  • quali sono le tempistiche delle istruzioni PowerVR?
  • che tipo di unità di elaborazione parallele sono nel PowerVR535 e come possono essere sfruttate?

Grazie, Tristan

risposta

5

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

Questo documet dovrebbe aiutare a ottimizzare le shader per le massime prestazioni. Apple dovrebbe fornire anche informazioni simili.

+2

Grazie per la risposta. Sfortunatamente da ulteriori letture, PowerVR ha deciso di non pubblicare l'attuale assemblea in cui GLSL viene compilato. La soluzione migliore che ho trovato è stata l'utilizzo di PowerVRUniSCo per fornire i conteggi dei cicli per vertex e framment shader. Fastidiosamente questo strumento è disponibile solo per PC e Linux. –

13

L'Imagination Technologies ha recentemente aggiunto il supporto Mac per il compilatore PVRUniSCo e l'editor shader interattivo PVRUniSCoEditor. Questi possono essere downloaded for free come parte del PowerVR SDK. Il compilatore supporta sia la serie PowerVR SGX 53x che la serie 540 in iPad 2. Sfortunatamente, l'editor funziona come un'applicazione X11 goffo, ma almeno funziona ora.

L'editor fornisce le stime linea per linea del numero di cicli GPU richiesti nel vertex o framment shader, nonché stime più accurate e dei casi peggiori dei cicli totali richiesti.

ho usato per il profilo my iOS shader, e ha dimostrato di essere estremamente utile nella ricerca di hotspot: PVRUniSCoEditor

+0

Grande a sapersi Nulla è stato più fastidioso del rimescolamento sul mio PC per testare i tempi. Aggiornamento –

+1

Aprile 2013: L'ultimo SDK di PowerVR include strumenti (compilatore della riga di comando e editor di gui come PVRShaman e PVRShaderEditor) che non richiedono X11 e possono annotare i conteggi dei cicli stimati sul codice dello shader. – mattorb