应该在CALayer上进行栅格化是否会导致图层转换之前或之后的栅格化?

Jos*_*rey 9 core-animation calayer ios

我正在尝试优化我的应用.它在视觉上非常丰富,所以有很多分层的UIViews,有大图像和混合等.

我一直在试验这个shouldRasterize房产CALayers.特别是在一个案例中,我有一个UIView包含许多子视图的表,包括一个表.作为整个屏幕滚动的过渡的一部分,这UIView也可以缩放和旋转(使用变换).

UIView遗体的内容是静态的,所以我认为设置是有意义的view.layer.shouldRasterize = YES.但是,我没有看到性能提升.可能是它在新规模和旋转时重新光栅化每一帧吗?我希望它在开始时会有一个身份变换矩阵进行栅格化,然后在过渡期间进行缩放和旋转时缓存它?

如果没有,有没有办法可以强迫它发生?除了添加一个冗余的额外超级视图/图层,除了缩放和旋转其栅格化内容之外什么都不做......

Nac*_*oto 8

您可以使用CoreAnimation仪器分析您的应用程序来回答您自己的问题.请注意,此功能仅适用于设备.

您可以启用"绿色和未命中红色".如果你的图层保持红色,则意味着它确实每帧都对它进行栅格化.