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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/346109.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实时渲染 -- 光追(Ray Tracing)

光栅化 Or 光线追踪 传统的光栅化方式主要是将每个物体进行光栅化后形成若干个像素,然后每个像素需要计算光源直接照射到自己并反射回眼睛而形成的颜色。这种算法方式是极快的,但是只能表示直接光照,图像质量较低。 Bling-Phong 模型是一个常…

Java 集合List相关面试题

📕作者简介: 过去日记,致力于Java、GoLang,Rust等多种编程语言,热爱技术,喜欢游戏的博主。 📗本文收录于java面试题系列,大家有兴趣的可以看一看 📘相关专栏Rust初阶教程、go语言基…

IDEA插件(MyBatis Log Free)

引言 在Java开发中,MyBatis 是一款广泛使用的持久层框架,它简化了SQL映射并提供了强大的数据访问能力。为了更好地调试和优化MyBatis应用中的SQL语句执行,一款名为 MyBatis Log Free 的 IntelliJ IDEA 插件应运而生。这款插件旨在帮助开发者…

2023-2024年重庆职业院校技能大赛“信息安全管理与评估”比赛样题

2023 年重庆职业院校技能大赛(高等职业教育) “信息安全管理与评估”样题任务书 第一阶段:任务 1 网络平台搭建(50 分)任务 2 网络安全设备配置与防护(250 分) 第二阶段:第一部分 网…

C语言王道练习题第七周两题

第一题 Description 输入一个学生的学号,姓名,性别,用结构体存储,通过 scanf 读取后,然后再 通过 printf 打印输出 Input 学号,姓名,性别,例如输入 101 xiongda m Output 输出…

Linux系统Shell脚本编程之条件语句

一、条件测试 Shell 环境根据命令执行后的返回状态值 " $? " 来判断是否执行成功,当返回值为0时表示成功,否则表示失败或异常(非0值)。使用专门的测试工具 test 命令,可以对特定条件进行测试,并…

【Vue3】组件通信

Vue3组件通信和Vue2的区别: 移出事件总线,使用mitt代替。vuex换成了pinia。把.sync优化到了v-model里面了。把$listeners所有的东西,合并到$attrs中了。$children被砍掉了。 1. props 若 父传子:属性值是非函数。若 子传父&…

网络协议与攻击模拟_08DHCP协议

技术学习要了解某项技术能干什么?它的详细内容?发展走向? 一、DHCP协议 1、DHCP基本概念 dhcp动态主机配置协议,广泛应用于局域网内部 主要是为客户机提供TCP/IP 参数(IP地址、子网掩码、网关、DNS等)…

【AI】深度学习与图像描述生成——看图说话(1)

还记得我闲来无事,用大模型来“洗图”吗,就是想抄袭别人的图,但是又要装作原创的样子。因为洗稿大家都熟悉,洗图其实也是一样的。 【AIGC】今天想用AI“洗个图”,失败了,进来看我怎么做的-CSDN博客 【AIG…

Vue3快速使用手册

Vue3的创建 npm create vitelatest 1.设置项目名。 2.选择框架。 3.选择支持的语法&#xff0c;默认使用TS。 ...... Vue3的使用 setUp(无法直接修改数据&#xff0c;也就是没有响应式) 在vue3中不不再推荐使用选项式编程而是使用组合式编程。 Vue2写法 <template…

matlab GUI实现PID控制器参数配置

1、内容简介 略 39-可以交流、咨询、答疑 2、内容说明 略 3、 基于GUI的PID研究 本例子中设计一个PID控制器来研究不同参数对输出结果的影响&#xff0c;PID控制器由比例单元 P、积分单元 I 和微分单元 D 组成。PID 控制器是一个在工业控制应用中常见的反馈回路部件&…

JavaEE之多线程编程:4. 线程安全(重点!!!)

文章目录 一、观察线程不安全二、线程安全的概念三、线程不安全的原因1. 关于线程不安全的解释1. 抢占式执行2. 修改共享数据3. 原子性4. 可见性5. 指令重排序问题 四、解决之前的线程不安全的问题五、synchronized 关键字&#xff08;两个线程同时修改一个变量&#xff09;1. …

特征抽取-----机器学习pycharm软件

导入包 from sklearn.datasets import load_iris # 方法datasets_demo()数据集使用 from sklearn.feature_extraction import DictVectorizer # 方法dict_demo()字典特征抽取用 from sklearn.feature_extraction.text import CountVectorizer # 方法count_demo()文本特征抽…

红外热成像 ~ 基于matlab的非均匀校正code

红外芯片由于工艺问题存在严重的分均匀性&#xff0c;所以非均匀矫正一直是影响红外图像质量的第一因素。分均匀矫正的算法也是红外图像处理研究的重点区域&#xff0c;建立了一些矫正的方式方法。其中最常用最简单的就应该算是两点温度定标算法。 应用两点法校正有两个前提条…

想要透明拼接屏展现更加效果,视频源是技术活,尤其作为直播背景

随着科技的飞速发展&#xff0c;视频制作和显示技术也在不断进步。透明拼接屏视频作为一种新型的视频形式&#xff0c;在许多场合都得到了广泛的应用。尼伽小编将深入探讨透明拼接屏视频的制作过程、要求、清晰度&#xff0c;以及目前常作为直播背景的优势。 一、透明拼接屏视频…

Apipost自动化测试+Jenkins实现持续集成

Apipost 自动化测试支持「持续集成」功能&#xff0c;在安装了Apipost的服务器中输入命令&#xff0c;即可运行测试脚本。 创建自动化测试脚本 在创建好的测试用例中选择「持续集成」。 点击新建&#xff0c;配置运行环境、循环次数、间隔停顿后点击保存会生成命令。 安装 Ap…

Git搭建

文件格式 <VirtuaHost * 80> nginx </virtualHost> pache xml server {} nginx conf格式 [xx] 配置内容 代码开发中版本控制,项目代码编译构建,项目版本迭代全流程 命令300条 Hospital Information System 开发语言分类: 编译型: C nginx ma…

C语言零基础入门第2天《 visual studio下载安装教程和搭建开发环境及踩坑指南》(保姆级图文教程)

visual studio下载安装教程和搭建开发环境 1、 项目实战效果图2、简单了解一下目前主流的开发环境3、 visual studio下载地址4、 visual studio安装教程5、 配置visual studio环境变量 6、如何新建一个C项目7、新建第一个C程序8、用代码测试创建的项目是否可用8、如何成功让代码…

spire.doc合并word文档

文章目录 spire.doc合并word文档1. 引入maven依赖2. 需要合并的word3. 合并文档代码4. 合并结果 spire.doc合并word文档 1. 引入maven依赖 <repositories><repository><id>com.e-iceblue</id><name>e-iceblue</name><url>https://r…

蓝桥杯(Python)每日练Day5

题目 OJ1229 题目分析 题目完全符合栈的特征&#xff0c;后进先出。如果能够熟练使用列表的9种方法那么这道题很容易解出。 题解 a[]#存衣服 nint(input()) for i in range(n):llist(input().split())#判断每一步的操作if len(l[0])2:a.append(l[1])else:while a.pop()!l…