1.硬件机制
软件层面
硬件层面
2.总体原则
3.场景模型优化:静态合批优化
图形的优化
CPU:GPU:
共享 AGP 端口
AGP 送到 GPU 显存
1.性能指标
2.判断指标可能性
3.排除关键性能瓶颈
性能分析报告
drawcall
setpasscall
渲染XX材质(设置渲染状态).绘制X个三角形
------------------------------------------------------------------------
设置了一次渲染状态
发出了一次绘制调用的指令
修改渲染状态会使整个渲染流水线暂停
------------------------------------------------
GPU Instancing
SRP Batcher
--------------------
条件
流程
误解
缺点
失败情况
--------------------
static
相同材质球Material
-------------------
合批工作流程:Bake
顶点缓冲区数据 索引缓冲区数据
VertexBuffer IndexBuffer
顶点数据变换到世界空间下
节省了坐标空间变换时间
渲染的时候 一次性提交合并模型的顶点数据,往CPU发送的CMD次数减少,每一个子模型还是要一个drawcall,dc没有减少
引擎场景管理系统判断各个子模型的可见性
只需要设置一次渲染状态
不需要再次执行 顶点变换操作
材质不需要再去切换
dc调用之间没有切换渲染状态
包体增大,运行内存增大
失败情况
改了 material 材质 颜色 贴图,unity会生成新的材质,导致之前烘焙好的合批被打断
不要设置私有材质,修改共享材质,sharedMaterial 所有更新不会打断
相同材质批处理断开
=====》位置不相邻 其中参杂其他物体
=====》物体就进行了光照贴图烘焙 另一个没进行,没法合批,光照贴图是隐藏属性
GPU Instancing 绘制大批量物体
利用显卡性能,内存有限可以考虑,不能对人物角色动画进行优化,有方法
大世界的流式加载
ECS 的 SubScene
动画 蒙皮网格动画在程序运行期间如何进行优化
什么叫纹理贴图占用的带宽
如何计算一个纹理贴图 在磁盘上占用的空间 运行时占用的空间
GC Alloc
UI卡顿
场景模型优化
场景模型优化
于 2023-10-13 13:12:22 首次发布