Unity小结-优化

1.如何降低drawCall?

  • drawcall:CPU准备渲染对象,将渲染对象从硬盘加载到内存,再由内存加载到闪存,设置每个对象的渲染状态,材质,纹理,着色器等,然后CPU向GPU发送DrawCall命令,并将渲染图元传递给GPU。DrawCall过多导致CPU大量计算,影响效率
  • 只有相同材质的物体可以批处理,在程序中尽可的复用材质和物体。
  • 如果动态物体公用相同材质,unity会自动进行批处理。
  • 复杂静态场景,可以使用遮挡剔除算法。
  • 打包图集。密切相关的图打包在一起,图集不要太大。
  • 特效播放完毕,没有active设置为false,就会继续占用drawcall,要及时清理。

2.如何在UI上降低DrawCall?

  • 尽量减少mask遮罩的使用。mask内和mask外的ui不能一次渲染,能不用就不用,或者用带通道的图片代替mask的遮罩功能
  • 图集整理规范。批处理是根据图集来。常用的图片放一个图集,独立界面放一个图集等。
  • ui摆放减少交叉。 img -img-text 两个drawcall  image - text-image 三个drawcall
  • 动静分离
  • 尽量减少raycasttarget的使用
  • richtext

3.手机发烫的原因?如何处理?

  • cpu计算过高。
  • 手机配置不行
  • 后台程序多
  • 运行时间长
  • 信号弱,手机自动加大发射功率

4.GC工作原理,如何减少GC?

  • 不要显示调用system.gc(); 会触发主GC,增加gc频率
  • 减少临时对象的使用
  • 字符串频繁变更使用stringbuilder
  • 减少静态变量的使用

5.unity优化。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值