场景模型优化

该博客围绕游戏场景模型优化展开,涉及硬件和软件层面机制,阐述总体原则。介绍了静态合批优化、图形优化等方法,分析性能指标、排除瓶颈。还提及 GPU Instancing、SRP Batcher 等合批技术,以及动画优化、纹理贴图带宽计算等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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卡顿
场景模型优化
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张老师带你学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值