Apple Doc を引用して説明します。
@property BOOL shouldRasterize
このプロパティの値が YES の場合、レイヤーはローカル座標空間でビットマップとしてレンダリングされ、他のコンテンツと一緒に宛先に合成されます。フィルター プロパティの影の効果とすべてのフィルターはラスタライズされ、ビットマップに含まれます。ただし、レイヤーの現在の不透明度はラスタライズされていません。合成中にラスター化されたビットマップのスケーリングが必要な場合は、必要に応じて minificationFilter プロパティとmaggingFilter プロパティのフィルターが適用されます。
したがって、基本的に shouldRasterize が YES に設定されている場合、レイヤーを構成するすべてのピクセルが計算され、レイヤー全体がビットマップとしてキャッシュされます。
一度だけ描画する必要がある場合。つまり、CoreAnimation はフレームごとに再描画せずに実際にそのレイヤーを使用するため、純粋な「単純な」アニメーション (移動、変換、スケーリングなど) だけが必要な場合を意味します。CoreAnimation と組み合わせて複雑なレイヤー (影と角の半径を含む) をキャッシュする非常に強力な機能です。
レイヤーが何度も再表示shouldRasterize
されると、既に有効になっている描画の上に、がすべてのピクセルを処理してビットマップ データをキャッシュするためです。
したがって、あなたが自問すべき本当の質問は次のとおりですshouldRasterize
。
これが十分に明確であることを願っています。