离屏渲染
2018-11-14 本文已影响9人
小行为
什么是离屏渲染?如何发生的呢??
在屏渲染:
指 GPU的渲染操作是在当前用于显示的屏幕缓冲区发生的
离屏渲染:
指 GPU的渲染操作是在当前用于显示的屏幕缓冲区以外新开辟缓冲区发生的渲染
当指定UI视图的某些属性标记为他在未愈合成之前不能用于当前屏幕显示 就会触发离屏渲染 离屏渲染概念起源于GPU 再当前屏幕缓冲区以外新开辟缓冲区发生的渲染操作
何时触发??
圆角( 圆角 和 masktoBounds 一起使用时)
图层蒙版
阴影
光栅化
为何要避免??
再触发离屏渲染会增加GPU工作量 会导致CPU和GPU 加起来的总耗时超过16.7ms 可能发生掉帧卡顿
会创建新的渲染缓存区
上下文切换