Draw Call优化

本文介绍了Unity3D中优化DrawCall的几个关键方法,包括检查DrawCall变化、控制渲染顺序、利用动态和静态批处理、优化材质使用以及打包图集。动态批处理适用于相同材质的动态物体,静态批处理则更为高效。打包图集能减少DrawCall数量,但需要注意图集的正确创建和使用。此外,特效的清理也是减少资源消耗的重要步骤,确保特效播放完毕后及时释放。

1.检测DrawCall是否改变

Game窗口中的stats可以清晰的看到DrawCall

2.渲染顺序

控制好U3D的渲染顺序,才能控制好DrawCall

示例

3.动态批处理

如果动态物体共用着相同的材质,那么Unity会自动对这些物体进行批处理。

4.静态批处理

静态批处理比动态批处理更加有效,你应该尽量低使用它,因为它需要更少的CPU开销。

5.材质

只有拥有相同材质的物体才可以进行批处理。

6.打包图集

1.每个材质/纹理的渲染一定是会产生DrawCall的,这个DrawCall只能通过打包图集来进行优化。

2.图集打包需要将要打包的图集全部放入一个文件夹中,才能进行正确的打包

3.图集打包好之后,使用相同图集的物体只会产生一个DrawCall

详细的关于打包图集的知识请参考我刚刚发的文章图集(基础使用与定义)_drgfd345的博客-优快云博客

7.特效清理

1.技能特效,或者其他什么特效,那么特效播放完,这个特效我们就看不到了,但假设这个特效在播放结束的时候,没有将自身的Active属性设置为false,那么它就会继续占用你的DrawCall,消耗你设备的计算能力

2.程序需要保证当一个特效播放完之后,能够被消耗,或者设置为非激活的状态,可以使用一些公共方法来完成特效播放完之后的清理工作

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值