Unity 关于DrawCall的理解

一 注意事项

DrawCall是每次CPU向GPU调用绘制操作的过程 每调用一次就会产生1个DrawCall
不同的材质会产生不同的DrawCall

二 使用批处理优化DrawCall:

1.静态批处理

A.把物体设置为静态对象。运行时所有的静态对象只占用1个DrawCall

2.动态批处理

A.使用图集
没有图集的情况:
在UI中,不同的图片会产生DrawCall,如图1
图1中Game界面3个Batches,FrameDebug面板中可以看到绘制UI只产生了1次DrawCall
在这里插入图片描述
[图1]

而如果是不同的图片,则会产生2个DrawCall,如图2
Game界面Batches变成了4,FrameDebug界面看到绘制UI产生了2次DrawCall
在这里插入图片描述
[图2]

使用图集的情况:
但是如果是使用图集的话,则依然是同一张图片,所以只会调用1次DrawCall
现在将我的电脑和回收站两张图片打为1个图集,如图3
在这里插入图片描述
[图3]

此时再看DrawCall数量,已经再次为1了,如图4
在这里插入图片描述
[图4]
需要注意的是使用了图集,DrawCall只有在游戏运行的情况下才是正确的,因为非运行状态不会使用图集

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值