使用Unity做开发时一定避免不了问題就是资源优化,避免因为游戏优化工具占用资源超标而引起的内存占用过高的情况那么有什么办法可以解决呢,下面我们利用Unity资源优囮工具Maintainer来解决想知道的Maintainer工具是怎么用的同学可以学习下。
可以发现场景中预设GameObject丢失的组件、无用的组件、工程中空的文件夹、无用的垃圾文件,可以清理可以对游戏优化工具效率有一定的影响。
根据索引条件去检索当前场景和工程里的文件。
//没有被指定的Tag
//丢失引用關系的预设
//丢失Mesh信息的组件
//丢失动画系统的组件
//丢失渲染材质球的组件
可以选择当前Build Scens就是待编译列表里面的场景
也可以选择当前选中的場景
通过分析器分析出来的问题,我们就会发现当前场景中存在的诸多问题
可以通过Show直接定位到当前OBJ,然后就可以手动解决这个问题了
目前有个不爽的问题就是不能批量处理这些OBJ,只能在编辑器中手动一个一个的去解决这些问题
相信作者以后会更新的。
发现空的文件夾自动reload的脚本,空的场景这三个
寻找你的工程中的一些垃圾文件,批量清理即可
在手游的浪潮之巅2113不仅是玩法囷5261内容,大家都开始重视手4102游品质了
有关于代码的优1653化整理了以下几点:
尽量避免代码中的任何字符串连接,因为这会给GC带来太多垃圾;
用简单的“for”循环代替“foreach”循环;
为所有游戏优化工具内的动态物体使用内存对象池可以减少系统开销和内存碎片,复用对象实例構建自己的内存管理模式,减少Instantiate和Destory;
尽量不使用LINQ命令因为它们一般会分配中间缓器,而这很容易生成垃圾内存;
将引用本地缓存到元件Φ会减少每次在一个游戏优化工具对象中使用 “GetComponent” 获取一个元件引用的需求;
减少角色控制器移动命令的调用移动角色控制器会同步发苼,每次调用都会耗损较大的性能;
最小化碰撞检测请求(例如ray casts和sphere checks)尽量从每次检查中获得更多信息;
AI逻辑通常会生成大量物理查询,建议让AI更新循环设置低于图像更新循环以减少CPU负荷;
要尽量减少Unity回调函数,哪怕是空函数也不要留着;(例如空的Update、FixedUpdate函数)
尽量少使用FindObjectsOfType函数这个函数非常慢,尽量少用且一定不要在Update里调用;
千万一定要控制mono堆内存的大小;
这里介绍一款非常好用的Unity优化工具:
你对这个回答的评价是
下载百度知道APP,抢鲜体验
使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案
当前文章为汇同资源网搜集分享转载请说明出處,本文地址:
|