Unity-UGui-动静分离

一.什么是动静分离

        1.操作:讲可以可以活动的元素放在一个CanvasA下,不可活动的元素放在CanvasB下。

        2.原因:Canvas下某一个元素变化时,Canvas下的所有元素都会被[网格重建](Rebatch),大量的静态元素是不需要网格重建的。

        3.得失:

            1.优:减少了大量静态元素反复网格重建的消耗

            2.劣:打断了合批

二.什么是网格重建

        1.工作:

            1.ReBatch:

                重算Canvas下所有元素变换

            2.Rebuild:

                ReBatch中标记的元素更新自己

三.[ReBatch]的Unity优化(5.2)

    多核计算机平台 [ReBatch] 放到了其他线程

四.那么[动静分离]还有什么意义

    1.Text与Image堆叠问题:t和i相互堆叠,导致不能精简的合成两个批次,可以把t和i放到两个不同的Canvas中

五.鸡肋

在测试的时候,如果使用了上千个变化的UI元素和上千个不变的元素进行测试,还是能发现动静分离的差别的。其实这个原因猜测是用于计算Canvas.BuildBatch的线程耗时已经超过了主线程,造成掉帧。不过在一般的游戏中,是不存在这么多UI元素的,所以也不用担心。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值