Cuándo debo establecer la capa.shouldRasterize a SÍ
He visto correcciones para algunos problemas de retraso al establecer la propiedad layer de la vista
view.layer.shouldRasterize = YES;
Vi una gran diferencia en el rendimiento al usar un UICollectionView y preparar las celdas y establecer la propiedad.
No estoy seguro de cuáles son las implicaciones.
Sería genial obtener una explicación. ¡Gracias!
1 answers
En WWDC 2012 Puliendo Sus Rotaciones de interfaz video (suscripción de desarrollador pagada necesaria), hablan sobre las ventajas e implicaciones de rasterizar capas. Este video es sobre un tema diferente (uno interesante, sin embargo), pero hablan de los pros y los contras de rasterizar versus snapshotting (a partir de unos 8 minutos en el video, dan algunos antecedentes sobre las relaciones entre la jerarquía UIView
, el árbol de presentación y el árbol de renderizado, y luego bucean en una discusión de rasterización otros 6 minutos en el video).
Si tiene una vista compleja (es decir, relativamente cara de volver a renderizar) que está animando, pero para la que la vista animada no está cambiando, rasterizar la capa puede mejorar el rendimiento al no volver a renderizar la capa todo el tiempo. Pero lo hace a costa de la memoria (guardar una imagen rasterizada en memoria).
Pero, si anima un cambio dentro de la capa, el shouldRasterize
puede adversamente afectar el rendimiento (porque va a volver a rasterizar la capa para cada fotograma de la animación).
Generalmente, si se anima un conjunto complejo de capas que, en sí mismas, no están cambiando, entonces puede establecer shouldRasterize
a YES
, hacer la animación y luego desactivar shouldRasterize
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-11-04 17:26:35