batch,draw call

Draw call严格意义上,CPU每次调用图形API的渲染函数(使用OpenGL举例,是gl DrawElements或者DrawIndexedPrimitive)都算作一次Draw Call,但是对于Unity而言,它可以多个Draw Call合并成一个Batch去渲染。
Set Pass Call代表渲染状态切换,主要出现在材质不一致的时候,进行渲染状态切换
batches(批处理)其实就理解成DrawCall值就可以,一个Batch至少包含一个DrawCal

真正造成开销较大的地方,第一个在于在于切换渲染状态,第二在于整理和提交数据。在真正的实践过程当中,可以不用过于介意Draw call这个数字(因为没有提交数据或者切换渲染状态的话,其实多来几个draw call没什么所谓),但是Set Pass Call和Batch两个数字都要想办法降低。由于二者存在强相关性,那么通常降低一个,就一并可以降低第二个。

优化原理:
draw call 与图片精灵有关,即不同图片的个数影响,相同图片的个数不影响
所以将不同的小图片放在一个大图片中可进行优化
优化方式:
精灵打包packing tag
打包时要保证图片类型相同
一张图片在多种场景中使用就不如不打包

切割图片:

美工制作图片时,尽量将需要在同个界面显示的小图做到一张大图中
在unity中切割精灵:

  1. 选中图集,在Inspector面板中将Sprite Mode 设置为Multiple
  2. 编辑精灵Sprite Editor
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值