任何一款引擎能把优化做好就说明你对这个引擎有比较深入的了解了
常用技巧
缓存池技术:解决反复new,destroy 造成的垃圾并造成卡顿
图集打包技术:解决小图太多造成drawcall过多,按照通用 + 各系统分类
三重assetbundle缓存技术:
加载完立即unload(false) >>> 小的表格,xml 适合这种处理方式
常驻内存 >>> font , shader
切换场景unload(true) >>> 模型,场景,等等其他类型
UI 缓存技术:解决界面打开的时间过长问题。不过注意缓存大小,以及关闭界面使用移开视野而不是enable = false
相机的切换: 3d相机和2d相机在面对UI 是全屏的时候最好关闭3d相机这样会减少很多drawcall值
资源管理:
sprite >>> 关掉mipmap 和 read&write 功能
texture >>> 根据不同角色类型进行不同的压缩格式和大小设置
Animator >>> 骨骼合并与优化 Optimistic gameobject
Model >>> 关闭read&write + 关闭表情等等选项
特效>>>分高低配置分别存放
场景>>>分高低配置存放到同一个scene文件
定位问题(工具)
profiler 连真机包
具体的链接过程这里不介绍,注意在打包设置出勾选profiler
frame debugger 查看渲染层面
可以查看到底drawcall为啥那么高,以及图形引擎是怎么绘制的,可以用于查看drawcall值
wetest + uwa 检验结果
wetest:下载wetest的app 然后运行游戏就可以看到了,注意的是手机必须root ,应该设置出必须设置该应用允许root,才能测试。
uwa : 这个平台测试起来就差点了,需要自己继承sdk,然后打包给他们帮你去跑流程,说实话很不方便,不过优点是数据比较全面。
eclipse 查看后台 bug
这个没啥说的了,链接手机查看日志即可。可以通过unity提供的异常接口写到服务器上进行简单的验证
网友评论