如何选择Unity的4种批处理方式

1)如何选择Unity的4种批处理方式
2)Unity编辑器卡顿
3)如何解决横屏APP在鸿蒙悬浮窗错误的变为竖屏了
4)Hindi问题


这是第388篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

Rendering

Q:在网上看了不少Unity的关于静态批处理、动态批处理、GPU Instancing和SRP Batcher这4种批处理的解释,但是我应该怎么选择哪种方式还不清楚,希望大佬能帮忙分析或者介绍一下选择方法或是案例。

A:可以参考《Unity移动端游戏性能优化简谱》的介绍:

3.2.3 Batch(DrawCall)

在Unity中,我们需要区分DrawCall和Batch。在一个Batch中会存在有多个DrawCall,出现这种情况时我们往往更关心Batch的数量,因为它才是把渲染数据提交给GPU的单位,也是我们需要优化和控制数量的真正对象。

降低Batch的方式通常有动态合批、静态合批、SRP Batcher和GPU Instancing这四种,围绕Batch优化的讨论较为复杂,再写一篇文章也不为过,所以本文不再展开来讨论,但在UWA DAY 2020中我们详细讨论和分享了DrawCall与Batch的关系以及这4种Batching的使用详解,供大家参考:《Unity移动游戏项目优化案例分析(上)》。

下面简单总结静态合批、SRP Batcher和GPU Instancing的合批条件和优缺点。

  1. 静态合批
    条件:不同Mesh,只要使用相同的材质球即可。
    优点:节省顶点信息地绑定;节省几何信息地传递;相邻材质相同时, ,节省材质地传递。
    缺点:离线合并时,若合并的Mesh中存在重复资源,则容易使得合并后包体变大;运行时合并,则生成Combine Mesh的过程会造成CPU短时间峰值;同样的,若合并的Mesh中存在重复资源,则会使得合并后内存占用变大。
  2. SRP Batcher
    条件:不同Mesh,只要使用相同的Shader且变体一样即可。
    优点:节省Uniform Buffer的写入操作;按Shader分Batch,预先生成Uniform Buffer,Batch内部无CPU Write。
    缺点:Constant Buffer(CBuffer)的显存固定开销;不支持MaterialPropertyBlock。
  3. GPU Instancing
    条件:相同的Mesh,且使用相同的材质球。
    优点:适用于渲染同种大量怪物的需求,合批的同时能够降低动画模块的耗时。
    缺点:可能存在负优化,反而使DrawCall上升;Instancing有时候被打乱,可以自己分组用API渲染。

在URP项目中,一般主要靠SRP Batcher(需要确保排除和优化Shader不支持、穿插等导致合批失败的情况),辅以针对特定渲染物体的运行时静态合批(集中但不重复的小物件)和GPU Instancing(大量重复模型),从降低整体Batches数量。

特别地,针对UI和粒子系统这类走自身合批方式的半透明渲染物体需要额外具体分析。

具体可参考UWA学堂的以下课程:
《Unity移动端游戏性能优化简谱》
《Unity移动游戏项目优化案例分析(上)》
《详解UGUI DrawCall计算和Rebuild操作优化》

感谢Faust@UWA问答社区提供了回答


Editor

Q:UGUI在制作阶段时在场景界面会出现拖拽卡顿,看堆栈这个下面这个内容,不知道什么原因,很影响开发。

Unity版本:2020.3.48

A:建议查看工程中是不是有基于编辑器的拓展;或者UnityEditor.AnimatedValues下的某类实现,或者看看BaseAnimValue.valueChanged之类的。

感谢小泽@UWA问答社区提供了回答


HarmonyOS

Q:最近QA测出一个Bug,我们游戏为横屏游戏,然而在华为鸿蒙系统下,切入悬浮窗后,会变为竖屏,这个问题很是苦恼,其他安卓平台是正常的。

查了下米哈游的《崩坏》,游卡的《三国杀》,腾讯的《火影》,这几个都是正常显示的,不知道他们是如何做的?我解开他们的包查看Manifest,无非就是增加了如下屏幕适配。

 <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true"/>

后续我自己建了个空Demo,跑下来也是错的,不知道各位是否知道该修改哪儿吗?本人demo android:resizeableActivity="true",上面的supports-screens也设置了。错误视频如下,期望情况是拖到小窗时,用一个横屏的小窗去展示。

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


UI

Q:有人遇到过这种问题的吗?印地语txt和Unity显示不一样,换了各种印地语字体试了都不行,UTF-8和Uncode编码都试了。

वेयरवोल्फ़

针对以上问题,有经验的朋友欢迎转至社区交流分享:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

 

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

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

相关文章

Ambari集成Apache Kyuubi实践

目前还有很多公司基于HDP来构建自己的大数据平台&#xff0c;随着Apache Kyuubi的持续热度&#xff0c;如何基于原有的HDP产品来集成Apache Kyuubi&#xff0c;很多人都迫切的需求。集成Apache Kyuubi到HDP中&#xff0c;主要涉及Ambari的二次开发。本文详细叙述了集成Apache K…

视频监控管理平台LntonCVS视频汇聚平台充电桩视频监控应用方案

随着新能源汽车的广泛使用&#xff0c;公众对充电设施的安全性和可靠性日益重视。为了提高充电桩的安全管理和站点运营效率&#xff0c;LntonCVS公司推出了一套全面的新能源汽车充电桩视频监控与管理解决方案。 该方案通过安装高分辨率摄像头&#xff0c;对充电桩及其周边区域进…

【C++ | this指针】一文了解C++的this指针

&#x1f601;博客主页&#x1f601;&#xff1a;&#x1f680;https://blog.csdn.net/wkd_007&#x1f680; &#x1f911;博客内容&#x1f911;&#xff1a;&#x1f36d;嵌入式开发、Linux、C语言、C、数据结构、音视频&#x1f36d; ⏰发布时间⏰&#xff1a; 本文未经允许…

【C语言】详解static和extern关键字

文章目录 1. 前言2. 作用域和生命周期2.1 作用域2.1.1 全局变量和局部变量 2.2 生命周期 3. static关键字3.1 static修饰的局部变量 4. extern关键字5. extern和static关键字的相互作用5.1 static修饰函数 6.总结 1. 前言 可能在你遇到这篇文章之前&#xff0c;你可能并未听过…

IDEA2023.1.4配置springboot项目

新建“Spring Initializr”项目 勾选以下三个依赖项即可。 springboot分为代码层、资源层和测试层。 代码层 根目录&#xff1a;src/main/java 入口启动类及程序的开发目录。在这个目录下进行业务开发、创建实体层、控制器层、数据连接层等。 资源层 根目录&#xff1a;src…

奇迹MU最强法师介绍

1、黑龙波 释放出深渊中的黑龙之魂&#xff0c;对一定范围内的目标造成中等程度伤害。 奥义&#xff1a; 怒哮——法师释放出深渊龙魂的怨怒之力&#xff0c;在电闪雷鸣中中咆哮的龙魂将对敌人额外造成少量伤害。 魂阵——法师利用法阵控制黑龙之魂进行更大范围的攻击&…

史上最强 AI 翻译诞生了!拳打谷歌,脚踢 DeepL

CoT 推理范式 默认情况下&#xff0c;大语言模型通常是直接给出问题的最终答案&#xff0c;中间推理过程是隐含的、不透明的&#xff0c;无法发挥出大模型最极致的理解能力。如果你用它来充当翻译&#xff0c;可能效果和传统的机器翻译也差不了太多。 如果我们给大模型设计一…

天行健咨询 | 谢宁DOE培训的课程内容有哪些?

谢宁DOE培训的课程内容丰富而深入&#xff0c;旨在帮助学员掌握谢宁问题解决方法在质量管理中的重要作用&#xff0c;并学会如何运用这一方法工具&#xff0c;在不中断生产过程的前提下&#xff0c;找出并解决生产中遇到的复杂而顽固的问题。 首先&#xff0c;课程会详细介绍谢…

SpringCloud Hystrix服务熔断实例总结

SpringCloud Hystrix断路器-服务熔断与降级和HystrixDashboard SpringCloud Hystrix服务降级实例总结 本文采用版本为Hoxton.SR1系列&#xff0c;SpringBoot为2.2.2.RELEASE <dependency><groupId>org.springframework.cloud</groupId><artifactId>s…

Kafka之Producer原理

1. 生产者发送消息源码分析 public class SimpleProducer {public static void main(String[] args) {Properties prosnew Properties();pros.put("bootstrap.servers","192.168.8.144:9092,192.168.8.145:9092,192.168.8.146:9092"); // pros.pu…

【必会面试题】ThreadLocal的底层原理及其使用场景

目录 原理应用场景优势1. 避免线程安全问题2. 提高性能3. 简化代码 注意事项权衡决策 ThreadLocal是Java中用于创建线程局部变量的一个类&#xff0c;它提供了一种将变量绑定到当前线程的技术&#xff0c;使得每个线程都拥有该变量的独立副本&#xff0c;即使是在多线程环境下也…

GitHub生成SSH密钥,使用SSH进行连接

目录 一、生成新的SSH密钥 二、添加新的SSH密钥 三、测试SSH连接 四、SSH密钥密码 五、创建新仓库并推送到github 说明 使用 SSH URL 将 git clone、git fetch、git pull 或 git push 执行到远程存储库时&#xff0c; 须在计算机上生成 SSH 密钥对&#xff0c;并将公钥添加到…

keil program algorithm 出错

前段时间 在 调试下载算法时&#xff0c;遇到一个奇怪的问题 就是 加载下载算法后&#xff0c; 下载算法的RAM空间 大小不能修改为 单片机的最大RAM&#xff0c;只能改到最大4KB的空间大小, 再大就报错 刚开始报错 一直不知道原因&#xff0c;走了很多弯路&#xff0c; 到最…

SharePoint:智能内容管理,释放数据价值

在Microsoft 365的庞大生态系统中&#xff0c;SharePoint常常被忽视&#xff0c;但它却是整个平台的核心。SharePoint不仅承载着OneDrive、Teams、Power Platform等所有Microsoft 365产品的内容存储&#xff0c;更是企业协作和内容管理的基石。助AI技术的加持&#xff0c;Share…

Microbiome | binning+转录组→首个草鱼肠道基因集目录发布啦

草鱼便宜又好吃 但是你了解草鱼吗&#xff1f; 草鱼的肠道里定殖着成千上万的共生微生物&#xff0c;它们与草鱼共同生存&#xff0c;相互影响。这些微生物在草鱼的新陈代谢、免疫调节等方面发挥着重要作用。 虽然同为经济作物&#xff0c;鱼类的微生态相关研究远远…

U盘未安全退出后提示格式化:原因分析与数据恢复策略

在日常工作和生活中&#xff0c;U盘作为便携式存储设备的代表&#xff0c;因其小巧、方便携带和存储容量大等特点而广受欢迎。然而&#xff0c;不少用户在使用U盘的过程中都遇到过一个令人头疼的问题&#xff1a;U盘在没有安全退出的情况下被直接拔出&#xff0c;再次插入时系统…

[职场] 研究生面试自我介绍_1 #经验分享#知识分享

研究生面试自我介绍 想要进入职场&#xff0c;面试是必不可少的。然而想要面试成功&#xff0c;就需要一个让人印象深刻的自我介绍&#xff0c;好的自我介绍可以让面试官&#xff0c;快速了解自己&#xff0c;快速记住自己。 一、范文1 我是一名硕士研究生&#xff0c;即将毕业…

SOLIDWORKS认证考试的目的

在当今日益发展的工程设计和制造领域&#xff0c;SOLIDWORKS作为一款功能强大的三维CAD设计软件&#xff0c;已经得到了广泛的认可和应用。为了评估和提升用户在使用SOLIDWORKS软件时的专业技能和能力&#xff0c;SOLIDWORKS公司推出了认证考试项目。本文将深入探讨SOLIDWORKS认…

.net 下的身份认证与授权的实现

背景 任何一个系统&#xff0c;都需要对于底层访问的页面和接口进行安全的处理&#xff0c;其中核心就是认证和授权。 另外一个问题就是在实际编程过程中&#xff0c;我们的代码有不同的模式&#xff0c;不同的分层或者在不同的项目之中&#xff0c;如何在不同的地方取得用户…

ACDSee Photo Studio Ultimate v17 解锁版安装教程 (图片编辑器)

前言 ACDSee Photo Studio Ultimate 2024&#xff0c;一款适合各类摄影师和创意人士的综合解决方案&#xff0c;具备了经过省时的本地人工智能 (AI) 强化的全新特性和改进功能&#xff0c;使您能够以最小的投入获得最大的控制&#xff0c;从而更轻松地管理、检索和编辑您的照片…