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元素,满足合批条件的情况下也是能够合批的

相关推荐
mxwin4 小时前
Unity Shader 半透明物体为什么不能写入深度缓冲?
unity·游戏引擎·shader
晚枫歌F5 小时前
三层时间轮的实现
网络·unity·游戏引擎
咸鱼永不翻身6 小时前
Lua脚本事件检查工具
unity·lua·工具
leo__5208 小时前
单载波中继系统资源分配算法MATLAB仿真程序
算法·matlab·unity
努力长头发的程序猿9 小时前
Unity使用ScriptableObject序列化资源
unity·游戏引擎
mxwin9 小时前
Unity Shader 手写基于 PBR 的 URP Lit Shader 核心光照计算
unity·游戏引擎·shader
小贺儿开发9 小时前
Unity3D 智能云端数字标牌系统
unity·阿里云·人机交互·视频·oss·广告·互动
魔士于安10 小时前
Unity windows 同步 异步 打开文件文件夹工具
游戏·unity·游戏引擎·贴图·模型
笑虾10 小时前
cocos2d-x lua 加载 Cocos Studio 导出的 csb
游戏引擎·lua·cocos2d
魔士于安11 小时前
unity lowpoly 风格 城市 建筑 道路 交通标志
游戏·unity·游戏引擎·贴图·模型