美文网首页
动态合批和静态合批的区别

动态合批和静态合批的区别

作者: APP4x | 来源:发表于2020-09-08 11:01 被阅读0次

参考文章:
图形渲染及优化—Unity合批技术实践
图形渲染及优化—Batch

批是啥?
对某对象进行批量处理叫批处理

Batch是啥?
引擎每帧提交的Batch数量就是衡量渲染压力的指标
Batch就是调用一次API的绘制接口向GPU提交相同渲染状态的一定数量的三角形的行为
接口:OpenGL的glDrawArrays/glDrawElements
Batch等于一堆打包后的Draw call

什么叫合批:
以中性能优化的方式
将多次绘制请求,在允许的条件下进行合并处理,减少CPU对GPU绘制请求的次数

怎么开启?

1.静态合批(static batch)
将static的静态物体(永远不会移动、旋转和缩放) ,如果相同材质球,面数在xx之内。unity会自动合并成一个batch送往GPU处理
(64k顶点和64k索引)

使用静态合批需要额外的内存开销来存储合并后的几何数据。
如果一些物体共用了同样的几何数据,那么引擎会在编译以及运行状态对每个物体创建一个几何数据备份

如果static物体过大,应该注意内存开销

原理:
1.自动提取这些静态模型的 VertexBuffer和IndexBuffer
2.根据其在场景中的位置等最终状态信息,将这些模型的顶点数据变换到世界空间下
3.重新构建大的VertexBuffer和IndexBuffer
4.记录每一个子模型的IndexBuffer数据在构建大的IndexBuffer的起始以及结束位置

2.动态合批(dynmaic batch)
如果动态物体共用着相同的材质,那么Unity会自动对这些物体进行处理(动态批处理是自动完成的)

注意:
1.动态批处理物体需要在每个顶点上进行一定开销,动态批处理仅支持小于900顶点的网格物体(不知道现在啥样了)
2.如果着色器使用顶点位置,法线和UV值三种属性,只能批处理300顶点以下的物体;如果着色器需要使用顶点位置,法线,UV0,UV1和切向量,只能批处理180顶点以下的物体
3.不能使用缩放尺度(scale),缩放不同的物体不能进行批处理;统一缩放尺度的物体不会与非统一缩放尺度的物体进行批处理,eg:(1,1,1)和(1,2,1)不会批处理,(1,2,1)和(1,3,1)可以进行批处理
4.使用不同材质的实例化物体将会导致批处理失败


主要区别:
1.静态的不会再改了,动态的改了也能和
2.动态的比较费,只能和小的
3.本质上静态合批是用内存给GPU降低压力,动态合批是拿CPU给GPU降低压力

相关文章

  • unity的合批

    unity的合批有两种:静态合批(Static batching)和动态合批(Dynamic batching)。...

  • 动态合批和静态合批的区别

    参考文章:图形渲染及优化—Unity合批技术实践图形渲染及优化—Batch 批是啥?对某对象进行批量处理叫批处理 ...

  • Batching和Instancing

    通常引擎一般会提供3种合批的方式: 静态合并,动态合并,实例化那么3种合批的方法到底有什么区别呢,我们需要在何时使...

  • Unity动态合批(Dynamic Batching)与静态合批

    动态合批与静态合批其本质是对将多次绘制请求,在允许的条件下进行合并处理,减少cpu对gpu绘制请求的次数,达到提高...

  • UGUI(2) 减少DrawCall

    一、动态合批 要求相同材质,图集 注意sprite穿插,影响合批。 为什么sprite层级会影响合批?这关联到渲染...

  • [unity/UI]Unity的UI究竟为什么可以合批

    前言 我们知道,如果物体的材质相同,顶点数满足unity动态合批的要求,那么unity就可以实现动态合批,进...

  • Unity性能优化之动态合批(Dynamic batching)

    动态合批原理: 动态合批条件:①使用相同的材质球②正在视野中 注意:Shadow casters的渲染是个例外,尽...

  • 基于Shader的动态合批

    前言 关于unity动态合批,一直被人诟病的是他的使用条件太过苛刻,上限900左右个顶点数,只能用来合批一些...

  • UGUI DrawCall合批细节(转)

    UGUI DrawCall合批细节(一)——合批的规则[https://www.cnblogs.com/moran...

  • UGUI合批工具

    关于ugui合批原理和规则不再重复,网上已经有不少资料来细致讲解了,这个工具就是根据之前大牛们的无私分享而诞生的,...

网友评论

      本文标题:动态合批和静态合批的区别

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