UI卡顿掉帧的原因:
在规定的16.7ms内 在下一帧VSync的到来GPU和CPU没有准备好下一帧画面
滑动优化方案
CPU:
对象的创建,调整,销毁
预排版(布局计算,文本计算)
预渲染(文本异步绘制,图片解码等)
GPU:
纹理渲染
视图混合
异步绘制过程 E1CA3DA9-F74C-4F29-8F6F-226684469A5D.png
在屏渲染
当前屏幕渲染,指的是GPU的渲染操作是在当用于显示的屏幕缓冲区中进行
离屏渲染
指的是GPU在当前屏幕缓冲区外开辟新的一个缓冲区进行渲染操作
*圆角(maskTobounds一起使用)
*图层蒙版
*阴影
*光栈化
为何避免离屏渲染
离屏渲染会增加GPU的工作量,总耗时超过16.7ms就会引起UI卡顿掉帧
1.会创建新的渲染缓冲区
2.上下文切换
网友评论