最近听到面试经常会提到离屏渲染
,也听说过。于是总结一下,和大家一起探讨!
一.离屏渲染过程
- 离屏渲染(offscreen-rendering)顾名思义为屏幕外的渲染,即渲染的结果不会直接呈现到当前屏幕上,而是等待合适的时机才会被显示。
GPU在当前屏幕缓冲区以外新开辟一个缓冲区进行操作。
渲染方式还有一种叫当前屏幕渲染
,是GPU的渲染操作发生在当前用于显示的屏幕缓冲区中
二.什么时候离屏渲染被触发
- 设置图层圆角和maskToBounds一起使用
- 设置蒙版(masks)
- 设置阴影效果(shadows)
- 设置光栅化(shouldRasterize)
- 以下通过代码证明
(在模拟器开启离屏渲染)