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元素的,所以也不用担心。