W WWDC 2012 Polishing Your Interface Rotations wideo (wymagana płatna subskrypcja programisty), mówią o zaletach i konsekwencjach rasteryzacji warstw. To wideo jest na inny temat (ale interesujący), ale mówią o zaletach i wadach rasteryzacji w porównaniu do snapshotingu (od około 8 minut do filmu dają pewne informacje o związkach między hierarchią UIView
, prezentacja drzewo i drzewo renderowania, a następnie zagłębić się w dyskusję o rasteryzacji po kolejnych 6 minutach filmu).
Dolna linia, jeśli masz złożony widok (tj. Stosunkowo drogi do ponownego renderowania), który animujesz, ale dla którego animowany widok się nie zmienia, rasteryzacja warstwy może poprawić wydajność, ponieważ nie powoduje ponownego renderowania warstwa przez cały czas. Ale robi to kosztem pamięci (zapisywanie zrasteryzowanego obrazu w pamięci).
Ale jeśli animujesz zmianę wewnątrz warstwy, shouldRasterize
może negatywnie wpłynąć na wydajność (ponieważ ma zamiar ponownie rasteryzować warstwę dla każdej klatki animacji).
Ogólnie, jeśli animacja złożonego zestawu warstw, które same się nie zmieniają, można ustawić shouldRasterize
na YES
, zrób animację, a następnie wyłącz shouldRasterize
.