news 2026/6/25 19:40:36

3.5 静态批处理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
3.5 静态批处理

1.静态批处理简介

2.如何开启静态批处理

3.静态批处理的限制

4.静态批处理数据上传


1.静态批处理

a.静态批处理定义 静态批处理(StaticBatching)是Unity用来减少CPU Draw Call开销的一种批处理方式,它将多个静态对象(位置,旋转,缩放 都不会在运行中改变的物体)的网格数据合并成一个或少量的大网格,从而一次性提交给GPU绘制;前提条件:想要进行静态批 处理的物体需要勾选Static中的Batching Static
b.主要原来 Unity加载场景时,将使用相同材质的静态物体的网格数据合并成更大的网格;在渲染时,这些静态物体就能通过一次DrawCall 一起绘制

2.如何开启静态批处理

一般静态批处理功能都是默认开启的,不管在内置渲染管线还是SRP中 Player Settings ——>Other Settings ——>Rendering ——>Static Batching

3.静态批处理的限制

a.必须是勾选了Batching Static的物体 b.必须是相同材质(渲染状态必须一致),不同材质的对象会放入不同批次 c.每个静态批次最多可以包含64,000个顶点,如果超过这个数目,Unity会创建另一个批次 d.进行静态批处理的对象,运行时不能改变Transform(位置、旋转、缩放),否则会失去批处理资格 e.运行时不能修改网格,比如通过脚本代码调用相关API修改网格数据等 f.动态创建的静态对象不会进行静态批处理,运行时如果动态创建静态对象;这些对象如果不做处理,并不会被静态批处理 因此我们需要尽量把想要进行静态批处理的对象放在原始场景中

4.静态批处理数据上传

a.首次绘制:CPU → GPU数据上传 静态批处理的合并操作完成后,合并后的网格数据会被存储在CPU的内存中(RAM);当游戏第一次渲染这个静态批次时,CPU会 执行"数据上传"操作:把合并后的顶点、索引、法线、切线等完整数据,从CPU内存拷贝到GPU显存(VRAM),并在显存中创建 一个持久化的缓冲区(通常是顶点缓冲区 VBO+索引缓冲区 IBO)上传完成后,CPU会记录这个缓冲区在显存中的"地址",后续绘制只需要调用这个地址即可
b.后续绘制:直接复用GPU显存数据 从第二次绘制开始,CPU不需要再传输任何网格数据,只需要向GPU发送绘制指令:-指定要使用的显存缓冲区地址-传递材质、光照等少量动态参数-触发 GPU 的渲染管线执行绘制 GPU收到指令后,直接从显存的持久化缓冲区中读取网格数据,无需等待CPU的二次传输
c.数据从显存释放的唯一条件 只有满足以下任意一种情况,显存中的静态批次网格数据才会被释放,下次再渲染时才需要重新上传-该静态批次所属的场景被卸载(比如:切换到其他场景)-手动调用了释放显存的API(比如:Unity中的Mesh.UnloadMeshData())-游戏退出或应用被系统回收资源
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/20 15:40:30

通信原理篇---多径效应

我们用“回声听不清说话”这个生活场景,来彻底讲懂多径效应。核心比喻:在山谷里喊话想象一下,你站在一个 有很多高大建筑物的山谷(或一个大厅) 里,对着远处的朋友喊一句话:“我们几点吃饭&#…

作者头像 李华
网站建设 2026/6/18 21:00:20

探索三相PWM整流器的双闭环控制实现

三相PWM整流器,采用双闭环控制,用C语言实现PI控制,SVPWM等模块。在电力电子领域,三相PWM整流器因其能够实现能量双向流动、单位功率因数运行等优点,应用愈发广泛。今天咱们就聊聊基于双闭环控制,并用C语言实…

作者头像 李华
网站建设 2026/6/24 23:00:01

基于MATLAB/Simulink的移相变压器仿真模型探索:Phase_Shift_T

Phase_Shift_T:基于MATLAB/Simulink的移相变压器仿真模型,可实现-25、-15……25的移相。 变压器副边实现36脉波不控整流,变压器网侧电压、阈侧电压以及移相角度可直接设置。 仿真条件:MATLAB/Simulink R2015b最近在研究电力系统相…

作者头像 李华
网站建设 2026/6/18 3:50:44

ACO-KELM回归预测MATLAB代码:基于电厂运行数据的优化与实现

ACO蚁群算法优化KELM核极限学习机(ACO-KELM)回归预测MATLAB代码 代码注释清楚。 main为主程序,可以读取EXCEL数据。 很方便,容易上手。 (电厂运行数据为例)老铁们今天带大家玩点硬核的——用蚂蚁找食物的…

作者头像 李华