Unity 性能优化之动态批处理(四)

ops/2025/2/21 6:57:02/

提示:仅供参考,有误之处,麻烦大佬指出,不胜感激!

文章目录

  • 前言
  • 一、动态合批是什么?
  • 二、使用动态批处理
    • 1.打开动态合批
    • 2.满足条件
  • 三、检查动态合批是否成功
  • 五、动态合批弊端
  • 总结


前言

动态批处理是常用优化技术之一。
不论是动态合批还是静态合批,因为都是牺牲内存来降低Draw Cal,也就是提高CPU和GPU。所有要根据项目情况分析来使用这些技术。

一、动态合批是什么?

对移动的物体使用动态合批后,则Unity不会一个个绘制它们,而是把它们合并为一个批(Batch) ,再由CPU把它们一次性提交给GPU进行处理,这样可以减少Draw Call带来的性能消耗,从而提高性能。

二、使用动态批处理

1.打开动态合批

动态合批默认是由Unity自动完成,默认是关闭的。可以在Edit-Project Settings-Player-Other Settings-Dynamic Batching查看。

2.满足条件

1.Dynamic Batching是勾选的(默认是关闭的)
在这里插入图片描述

2.相同材质(Material)的物体

3.结论
当Dynamic Batching是勾选的,条件满足时, Unity会自动对使用了相同材质(Material)的物体进行动态合批。如果取消勾选,则不l会进行动态合批。
动态合批默认是由Unity自动完成。

三、检查动态合批是否成功

可以在Profiler窗口看到合批信息,是否发生变化,如下图
在这里插入图片描述

五、动态合批弊端

所有得优化技术都是有利有弊得,和静态合批一样,动态合批也是牺牲内存来提高CPU处理。

总结

好记性不如烂笔头


http://www.ppmy.cn/ops/32414.html

相关文章

mac安装虚拟机linux系统

需要下载的有:centos8镜像 , 虚拟器 VMware 软件包 , Termius 或者xshell 1. CentOS系统下载 linux系统一般有: CentOS、ubuntu、redhat,选择一种进行安装就可以 CentOS 2024 年开始停止维护和发布 CentOS8的下载与安装(windows下安装) 镜…

RabbiMQ(Docker 单机部署)

序言 本文给大家介绍如何使用 Docker 单机部署 RabbitMQ 并与 SpringBoot 整合使用。 一、部署流程 拉取镜像 docker pull rabbitmq:3-management镜像拉取成功之后使用下面命令启动 rabbitmq 容器 docker run \# 指定用户名-e RABBITMQ_DEFAULT_USERusername \# 指定密码-e R…

等级保护小知识

等级保护(Grade Protection)通常指的是一种信息安全保护机制,它根据信息系统的重要程度和所承担的风险级别,将其划分为不同的安全保护等级,并依据相关标准和法规实施相应的安全保护措施。等级保护的概念在很多国家和地…

通过多组光电判断货物大小以及位置

测试需求 需要判断出货叉上的货物类型,大货和小货。大货居中货叉,小货因为放置位置不同,需要把小货进行偏左或偏右放置。前提条件 1.货叉由变频器驱动,走EPOS定位模式,可以读取位置以及速度。 2. 检测光电有四组&…

uniapp 监听APP切换前台、后台插件 Ba-Lifecycle

监听APP切换前台、后台 Ba-Lifecycle 简介(下载地址) Ba-Lifecycle 是一款uniapp监听APP切换前台、后台的插件,简单易用。 截图展示 也可关注博客,实时更新最新插件: uniapp 常用原生插件大全 使用方法 在 script…

Linux专栏08:Linux基本指令之压缩解压缩指令

博客主页:Duck Bro 博客主页系列专栏:Linux专栏关注博主,后期持续更新系列文章如果有错误感谢请大家批评指出,及时修改感谢大家点赞👍收藏⭐评论✍ Linux基本指令之压缩解压缩指令 编号:08 文章目录 Linu…

一文掌握Vue依赖注入:原理、应用场景以及最佳模块化与单元测试实践,提升代码的可维护性与模块化程度

Vue 中的依赖注入(Dependency Injection, DI)机制通过 provide 与 inject API,实现了跨组件层级间的数据与服务透明传递,使父组件能够向其任意深度的子孙组件“注入”依赖,而不需要通过层层传递 props 或使用全局状态管…

JavaEE 多线程详细讲解(1)

1.线程是什么 (shift F6)改类名 1.1.并发编程是什么 (1)当前的CPU,都是多核心CPU (2)需要一些特定的编程技巧,把要完成的仍无,拆解成多个部分,并且分别让…