1. 概述
本文档对Unity GUI 批次合并(Batching)源码(基于Unity 4.6版本源码)进行研究,总结UGUI Batching的规则,并提供UI优化建议,以及UI层级显示辅助工具使用说明。
2. UGUI Batching规则分析
UGUI以Canvas为单位进行批次生成和渲染,Canvas可以嵌套包含Canvas。

Batching的生成和合并在canvas::Update里:

Batching主要流程如下:
1)计算Canvas alpha,包括父Canvas和嵌套Canvas(alpha=0不生成及合并批次)。
2)UI层次结构发生变化时,更新Batch顺序,对Canvas下所有UI元素(Canvas renderer)按UI层次结构深度优先排序,生成UI Instructions。

注意1 Mask:其中有mask UI会增加两个UI Instructions(mask / unmask),且不能合并(最终增加两个drawcall,分别使用Increment / Decrement mask Material Instance)。Mask实际上是

最低0.47元/天 解锁文章
5924

被折叠的 条评论
为什么被折叠?



