本文主要是介绍Unity Mask合批情况验证,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
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元素,满足合批条件的情况下也是能够合批的
这篇关于Unity Mask合批情况验证的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!