离屏渲染

On-Screen Rendering 在屏渲染

意为当前屏幕渲染,指的是GPU的渲染操作是在当前用于显示的屏幕缓冲区中进行的

Off——Screen Rendering 离屏渲染

意为离屏渲染,指的是GPU在当前屏幕缓冲区外新开辟一个缓冲区进行渲染操作

当我们设置某一些UI视图的图层属性,指令为位于合成之前,不能直接显示的时候,那么就触发了离屏渲染。典型的比如说,我们设置视图的圆角属性,包括一些蒙层、阴影等等

什么场景触发?

  • 设置圆角。maskToBounds 同时设置
  • 图层蒙版
  • 阴影
  • 光栅化

为何要避免离屏渲染?

在触发离屏渲染的时候,会增加GPU的工作量,而增加GPU的工作量很可能会导致GPU和CPU的工作总耗时超出了16.7ms,即屏幕的FPS小于60,从而导致UI的掉帧或卡顿,所以要避免离屏渲染。

你可能感兴趣的:(离屏渲染)