Sto tentando di ottimizzare la mia app. È piuttosto visivamente ricco, quindi ha un sacco di UIViews a più livelli con immagini grandi e miscelazione ecc.È consigliabile eseguire la rasterizzazione su un CALayer per causare la rasterizzazione prima o dopo la trasformazione del livello?
Ho sperimentato la proprietà shouldRasterize
su CALayers
. In un caso in particolare, ho un UIView
che consiste in molte viste secondarie, inclusa una tabella. Come parte di una transizione in cui scorre l'intero schermo, anche questo UIView
ridimensiona e ruota (usando le trasformazioni).
Il contenuto di UIView
rimane statico, quindi ho pensato che avrebbe avuto senso impostare view.layer.shouldRasterize = YES
. Tuttavia, non ho visto un aumento delle prestazioni. Potrebbe essere che rasterizza ogni fotogramma alla nuova scala e rotazione? Speravo che si rasterizzasse all'inizio quando ha una matrice di trasformazione dell'identità e quindi lo memorizza nella cache mentre si ridimensiona e ruota durante la transizione?
In caso contrario, c'è un modo in cui potrei farlo accadere? A parte l'aggiunta di un super-view/layer extra ridondante che non fa altro che scalare e ruotare i suoi contenuti rasterizzati ...
Cosa farebbe diventare rosso? Stai esaurendo la memoria della GPU? – jjxtra
O quello, o che il livello è stato reso nuovamente e quindi la cache viene invalidata. – NachoSoto