Unity优化总览

Posted hichy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Unity优化总览相关的知识,希望对你有一定的参考价值。

CPU


GC

  • 序列化与反序列化,如protobuff,json解析
  • String的频繁构造,拼接,如ToString()会生成字符串,Object.name会返回拷贝
  • 闭包和匿名函数,在闭包中调用外部变量时会创建临时class对象,匿名函数当做参数传入时,也会有内存开销
  • 有开销的函数,如Camera.main等,缓存一下
  • Transform只存局部坐标,旋转,没次获取和设置都有计算开销

IO操作,

  • debug系列日志函数,打包并不会自动屏蔽

UI

  • Canvas重建,材质的重新创建,排序,Mesh重建等,建议全部动静分离
  • 图集划分问题,图片尺寸要用POT尺寸

其他

  • 粒子系统 -> 功能简化的简单子弹类
  • 动画更新优化,放到子线程等
  • GPU Instance
  • 蒙皮计算 GPU skinning
  • 物理 MeshCollider改为凸包

GPU


数据量

  • 顶点数: LOD
  • 纹理尺寸: 打开mipmap
  • overdraw: 主要透明物体数量

Shader算法

  • 数据精度
  • 纹理数目
  • 比较费的函数: grappass,for

内存


  • Mesh的Read/Write选项(会存在双份数据)
  • 纹理最大尺寸,压缩参数 (硬件支持的压缩,会以压缩格式进内存)

包大小


  • 一个bug(长期未修复):场景中的物体prefab打成包,场景包中还会有一份资源,需要打成更细的包,比如贴图,就不会

其他


  • 物理: 关闭某些不需要检测的层之间的碰撞

以上是关于Unity优化总览的主要内容,如果未能解决你的问题,请参考以下文章

Unity 2018 3.0地形优化与新增特性

[Unity优化] unity性能优化

unity开发内存优化

Unity 优化篇 | 优化专栏《导航帖》,全面学习Unity优化技巧,让我们的Unity技术上升一个档次

Unity 优化篇 | 优化专栏《导航帖》,全面学习Unity优化技巧,让我们的Unity技术上升一个档次

unityUI优化笔记