什么是離屏渲染?如何發(fā)生的呢??
在屏渲染:
指 GPU的渲染操作是在當(dāng)前用于顯示的屏幕緩沖區(qū)發(fā)生的
離屏渲染:
指 GPU的渲染操作是在當(dāng)前用于顯示的屏幕緩沖區(qū)以外新開辟緩沖區(qū)發(fā)生的渲染
當(dāng)指定UI視圖的某些屬性標(biāo)記為他在未愈合成之前不能用于當(dāng)前屏幕顯示 就會觸發(fā)離屏渲染 離屏渲染概念起源于GPU 再當(dāng)前屏幕緩沖區(qū)以外新開辟緩沖區(qū)發(fā)生的渲染操作
何時觸發(fā)??
圓角( 圓角 和 masktoBounds 一起使用時)
圖層蒙版
陰影
光柵化
為何要避免??
再觸發(fā)離屏渲染會增加GPU工作量 會導(dǎo)致CPU和GPU 加起來的總耗時超過16.7ms 可能發(fā)生掉幀卡頓
會創(chuàng)建新的渲染緩存區(qū)
上下文切換