当前位置:   article > 正文

Unity合批处理_动unity态合批

动unity态合批

一.静态合批

  1. 标记为Batching Static的物体(标记后物体运行不能移动、旋转、缩放)

  1. 在使用相同材质球的条件下

  1. 项目打包的时候unity会自动将这些物体合并到一个大Mesh

*缺点

  1. 打包后体积增大

  1. 运行时内存占用增大

二.动态批处理

  1. 不超过300个顶点

  1. 不超过900个属性

  1. 不包含镜像的scale缩放

  1. 材质一样

  1. 物体的lightmap指向的位置一样

*缺点

  1. 动态合批在降低drawcall的同时会额外的cpu性能消耗

*合批中断情况

  1. 使用多pass shader物体会禁用dynamic batching

  1. 多个gameobject须共享同一材质

  1. 一个gameobject接受多个光照会导致附加多个pass导致合批失败

三.GPU Instancing

  1. 材质需要开启GPUInstancing

  1. 同材质,同mesh的物体

*缺点

1.不支持skinnedmeshrenderer

*合批中断情况

  1. 缩放为负值

  1. 代码改变材质变量不算同一个材质

  1. 受限常量缓冲区在不同设备的大小上限,同批个数可能不同

  1. 只支持一个实时光

四.SRP Batcher

  1. shader种的变体一致

*合批中断情况

  1. 不支持粒子和蒙皮网格

  1. shader变体不一致,如surface options不一致

  1. 位置不相邻中间夹杂着不同shader或不同变体的其它物体

五.总结

  1. 优先级顺序

SRP Batcher>静态合批>GPU Instancing>动态批处理

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/48489
推荐阅读
相关标签
  

闽ICP备14008679号