UI卡頓掉幀的原因:
在規(guī)定的16.7ms內(nèi) 在下一幀VSync的到來GPU和CPU沒有準(zhǔn)備好下一幀畫面
滑動(dòng)優(yōu)化方案
CPU:
對(duì)象的創(chuàng)建,調(diào)整,銷毀
預(yù)排版(布局計(jì)算靶瘸,文本計(jì)算)
預(yù)渲染(文本異步繪制馍佑,圖片解碼等)
GPU:
紋理渲染
視圖混合
異步繪制過程
E1CA3DA9-F74C-4F29-8F6F-226684469A5D.png
E1CA3DA9-F74C-4F29-8F6F-226684469A5D.png
在屏渲染
當(dāng)前屏幕渲染晃危,指的是GPU的渲染操作是在當(dāng)用于顯示的屏幕緩沖區(qū)中進(jìn)行
離屏渲染
指的是GPU在當(dāng)前屏幕緩沖區(qū)外開辟新的一個(gè)緩沖區(qū)進(jìn)行渲染操作
*圓角(maskTobounds一起使用)
*圖層蒙版
*陰影
*光椥鹱化
為何避免離屏渲染
離屏渲染會(huì)增加GPU的工作量,總耗時(shí)超過16.7ms就會(huì)引起UI卡頓掉幀
1.會(huì)創(chuàng)建新的渲染緩沖區(qū)
2.上下文切換