UGUI合并批次的规则

基本规则主要有以下几条:
按照层叠顺序处理
层叠顺序是按照Hierarchy中的顺序从上往下进行的,也就是越靠上的组件,就会被画在越底部
图A处理后和图B相同

图集Batch规则
计算层级号的算法:如果有一个UI元素,它所占的屏幕范围内(通常是矩形),如果没有任何UI在它的底下,那么它的层级号就是0(最底下);如果有一个UI在其底下且该UI可以和它Batch,那它的层级号与底下的UI层级一样;如果有一个UI在其底下但是无法与它Batch,那它的层级号为底下的UI的层级+1;如果有多个UI都在其下面,那么按前两种方式遍历计算所有的层级号,其中最大的那个作为自己的层级号。
合并批次:如果相邻间的两个批次正好可以Batch的话就会进行Batch

注:图集的穿插并不是指Hierarchy中的树形结构上的,即使树形结构存在穿插的情况,但是图片之间并没有遮挡情况的,不算图集的穿插

Z轴的影响
Unity以Canvas为单位进行绘制,按照前两条规则,当遍历列表进行处理时,如果列表中有X元素Z轴不为0,则处理会被打断,X元素之前的归为一个处理批次,X元素以及X元素之后的元素归为一个处理批次
举例列表{A, B, C, D, E, F}中C的Z轴不为0,那么会从C处开始被打断,列表的处理被强行拆分为两个列表{A, B}和{C, D, E, F}

Text优先级高于Image
按照规则2,ImageA层级号为0,ImageB层级号为1(ImageA和ImageB可以Batch),TextC层级号为0,绘制顺序为:
TextC,ImageA,ImageB (FrameDebugger中为两个DM)

  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值