一、Overdraw
1.1 什么是Overdraw
overdraw也就是过度绘制,是指在每个渲染周期内,屏幕上每个像素最理想只渲染一次,但是由于UI元素的重叠会导致像素会被渲染多次,每次渲染从CPU阶段到GPU阶段会消耗大量资源,如果这种情况比较严重,就会造成卡顿。
在编译器窗口下,选择Overdraw模式,可以观察场景中UI的过度绘制情况。颜色越深说明绘制次数越多。
1.2 解决方法
降低Overdraw最有效的方法就是减少UI的重叠。对于多个元素构成的UI,尽量将元素整合进一张图中。
对于下面这种中间透明的边框,其中间部分仍然会进行绘制。
对于这种UI元素,可以采用九宫格切分,并将图片类型设置为Sliced
此时,这个UI元素中间透明的部分就不会再进行绘制,从而减少Overdraw的可能性
二、Text效果组件
当我们给Text使用效果组件,比如Outline和Shadow时,会增加大量的顶点和边数量
开启Outline前:
开启Outline后: