news 2026/6/21 16:04:50

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/13 15:50:45

Pixel Streaming 实战配置

目录 Pixel Streaming 配置分辨率 Pixel Streaming 配置分辨率 (1) 命令行参数) 启动 UE5 的 Pixel Streaming 服务器时,可以在命令行里加: PixelStreamingURLhttp://127.0.0.1:8888 ResX1920 ResY1080 或者在 Windows 打包的 .exe 后面:…

作者头像 李华
网站建设 2026/6/13 16:10:37

不平衡电压下的DSOGI - PLL锁相环C语言实现及STM32F407验证

锁相环纯代码(C语言),不平衡电压下的锁相环,采用双二阶广义积分器(DSOGI-PLL),整个系统由simulink中的s-function模块进行编写,采用C语言进行编写,包括整个系统离散化&am…

作者头像 李华
网站建设 2026/6/15 13:00:27

深入AI原生应用领域,剖析Llama技术架构

深入AI原生应用领域,剖析Llama技术架构关键词:AI原生应用、Llama模型、大语言模型架构、Transformer、多模态交互摘要:本文将从AI原生应用的时代背景出发,以"智能咖啡馆"的故事为引,用"搭积木"般的…

作者头像 李华
网站建设 2026/6/13 4:01:01

Python_uniapp-校园通知事项打卡 微信小程序系统的设计与实现

文章目录摘要系统设计与实现的思路主要技术与实现手段源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 校园通知事项打卡微信小程序系统基于Python后端与UniApp前端框架开发,旨在为高校师生提供高效的通知管理与打卡服务。…

作者头像 李华