技术美术TA之URP下的SRP合批

本文是视频课程《Unity技术美术TA:Shader篇》,算是对自己学习的总结,也希望分享下所学知识~~

SRPBatch
支持不同网格+不同材质球,但是需要相同 Shader

1个Batch,多个Drawcall
可以节省 CPU 向GPU 准备的时间

FrameDebug图:

在这里插入图片描述
在这里插入图片描述

如何开启 SRP Batcher?

在这里插入图片描述
在这里插入图片描述


SRP的限制是什么?
相对于其他的合批(静态合批、动态合批、GPUInstance),要求很低

  • MeshRender(静态网格)不能是蒙皮网格
  • Shader 支持 SRP
    • 定义 CBuffer 常量缓冲器
    • UnityPerMaterial(自定义材质属性) UnityPerDraw(内置相关的)

SRP 原理
流程:CPU 从系统内存里获取数据,提交到 GPU 内存,进行渲染

默认渲染管线下:
提交到GPU内存时,每个都是一个 CBuffer 常量缓冲区,然后一个一个去渲染

URP管线下:
CPU 会分开 从系统获取数据有两个 CBuffer,一个是大的
提交到GPU内存是,会分开 一个是设置引擎内部的属性 一个是设置材质属性(有变化时候才更新)
GPU内 有一个大的 Buffer,有几个Drawcall 就有几个 buffer,还有每个材质的 CBuffer,最后统一的去上传到GPU

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值