Unity Mask合批情况验证

发布时间:2024年01月24日

1.首先是两个Mask完全重合的情况下
每张图片使用的image都来自同一个图集
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现彼此之间是没有合批的,但是每个Mask内部是实现了合批的
经过计算此种情况的visiableList:mask1,IM1,IM2,mask2,IM3,IM4
mask1首尾2个drawcall,IM1和IM2合批,1个drawcall,mask2首尾2个drawcall,IM3和IM4合批,一个drawcall,再加上相机的默认HDR开启drawcall,总共7个批次
2.再看不完全重合的情况
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
发现mask1和mask2的首尾进行了合批
visiableList:mask1,mask2,IM1,IM2,IM3,IM4
mask1和mask2首尾合批,IM1,IM2,IM3,IM4合批
3.再看完全不重合的情况
在这里插入图片描述
在这里插入图片描述
最终队列和上面一样,只不过depth的计算稍稍不同
4.再看有元素完全不在Mask范围内的情况
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
最终队列也一样。这里和RectMask2D有所不同,IM3在完全不在Mask范围时,是会参与渲染的,但是如果在RectMask2D情况下,是不会参与渲染的,而且综合以上情况,发现即时在不同的Mask下的UI元素,满足合批条件的情况下也是能够合批的

文章来源:https://blog.csdn.net/qq_22626987/article/details/135811189
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。