iOS 离屏渲染

1.什么是离屏渲染

  • on-screen Rendering

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

  • off-screen Rendering

意为离屏渲染,指的是GPU在当前屏幕缓冲区以外新开辟了一个缓冲区进行渲染操作,通俗的说就是当我们设置某些UI图层的视图属性时候,被指定为未预合成之前,不能用于直接显示的时候,就会触发离屏渲染

2.何时离屏渲染

  • 设置圆角(同时设置maskToBounds=YES)
  • 图层蒙版
  • 阴影
  • 光栅化

3.为何需要避免离屏渲染

因为在离屏渲染的时候会触发GPU的多通道渲染管线,增加了额外的开销,可能导致CPU和GPU在当前Vsync信号到来之前(1/60s)无法完成工作,导致页面卡顿和掉帧.另外也会创建新的缓冲区,会照成上下文切换带来开销

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