一、基本概要
1.少用Outline,Tiled
原因:会复制多个UI,导致顶点和颜色增加,导致重绘负担大
建议:动态的UI尽量少用,静态UI适量
2.关于激活/禁用 (SetActive(true/false))
原因:假如UI量多,SetActive()会导致开销大,还有代码开销
建议:设置Scale = 0 或 AlphaGroup = 0;这两种方式不会导致顶点重建。适用于静态UI,不会生成四边形,能减少场景中的顶点数,不会触发 激活和禁用的额外开销。
注意:不能用 color.a = 0,因为DrawCall和OverDraw不会变化,仍会画到场景里面。
3.DrawCall 合并规则
(1)自动调整渲染顺序,合并DrawCall
(2)分层合并,不同层,Draw合并概率小
(3)制作影响
a.不规则图标,image重叠,如六边形的icon等,导致DrawCall没办法合并,因为UGUI有层的概念
b.UI元素旋转,判断重叠,因为所有UI是个四边形框
c.动态遮挡;加入某个UI因为放大导致遮挡到其他UI,DrawCall会增加,因为渲染顺序是通过UI牌型进行的
d.3D UI方面,更要注意旋转的问题,也会出现UI重叠的问题