美文网首页
静态批处理

静态批处理

作者: APP4x | 来源:发表于2020-11-10 23:19 被阅读0次
这是我在《Unity游戏优化 (第2版)》看的,记录一下~

Unity也提供了第二种批处理机制:静态批处理

其最大的区别就是:
只能处理标记为Static的对象,因此叫静态批处理

静态批处理的要求:
1.网格必须标记为Static(里面的Batching Static)
通过Inspecter面板设置
缺点就是不能修改对象的变换(移动、旋转、缩放)

2.每个被静态批处理的网格都需要额外的内存
取决于批处理网格中复制的次数

静态批处理工作时,会把所有标记为static的可见网格数据复制到一个更大的网格数据缓冲区中,并通过一个DrawCall传到渲染管线中,同时忽略原始网格

如果进行静态批处理的网格各不相同,那么与正常渲染对象相比,不会增加内存的使用量,因为存储网格需要的空间量是相同的

咋用静态批处理会浪费内存呢?
比如有1000个树:
a.如果不用静态批处理,渲染1000个和1个的内存消耗是相同的,因为他们都引用相同的网格数据,在这种情况下去别的就是每个对象的变换,
b.如果启用了批处理,那么就会将1000个树合成一个大的网格,都存到缓冲区中,每个都存了一个世界坐标,这样就会造成1000倍的内存消耗

3.合并到静态处理中的顶点数量是有上限的(和动态的差不多)

4.网格实例可以来自任何网格数据源,但他们必须使用相同的材质饮用
使用不同的材质会被分配到不同的静态批处理组,每个组有单独的材质


注意:
1.DrawCall需要运行才能看到
2.在运行场景后加入的Batching Static对象,不能自动包含到静态批处理处理中
(因为会重新计算网格与渲染管线同步之间造成巨大的运行开销,所以不会被执行。可以使用StaticBatchUtility.Combine()方法)

相关文章

  • Unity非UI方面优化

    1.DrawCall优化 1-1:Drall Call Batching (批处理) 静态批处理:场景中所有的静态...

  • 错误整理合集

    静态批处理 取消勾选static Batchingimage.png

  • 静态批处理

    这是我在《Unity游戏优化 (第2版)》看的,记录一下~ Unity也提供了第二种批处理机制:静态批处理 其最大...

  • 静态批处理、动态批处理

    静态批处理 定义 标明为 Static 的静态物件,如果在使用相同材质球的条件下,在Build(项目打包)的时候U...

  • 大数据之Storm

    1、批处理与流处理 大数据分类两类:静态数据和动态数据。针对这两类数据的计算模式分别是批处理和流处理。 静态数据:...

  • Unity3d面向英特尔 x86 平台的 Unity* 优化指南

    目录 编辑器优化 压缩纹理 移动存储着色器 静态批处理 动态批处理 HDR – 高动态范围 选择最佳渲染路径 注意...

  • 动态进行静态批处理优化

    public class Aab : MonoBehaviour {GameObject[] allObjs; }...

  • 流式计算概述和Spark Streaming tips

    流式计算概述 常规计算引擎分类 批处理• 高吞吐,低延迟• 面向静态数据集合的处理• 分钟甚至小时级别延迟• 比如...

  • 批处理书目录

    批处理典型业务场景 批处理关键领域模型及关键架构 批处理实现作业的健壮性与扩展性 批处理框架的不足与增强

  • StructuredStreaming编程指南

    1、概述 结构化流是一个基于Spark SQL引擎的可扩展、容错的流处理引擎。您可以用在静态数据上表示批处理计算的...

网友评论

      本文标题:静态批处理

      本文链接:https://www.haomeiwen.com/subject/kdrgvktx.html