51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【周活动】 找茬--心里圈的故事 !【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【109期】:python爬虫的魔力 !双11剁手不吃土,来投稿赚回血红包! 【专题】用尽一切办法只为让你学好用例 自学软件测试那点事
查看: 628|回复: 0

性能测试 -- 内存过高, 如何定位问题? → 主要针对Unity研发的游戏

[复制链接]

该用户从未签到

发表于 2019-7-18 11:07:45 | 显示全部楼层 |阅读模式
1. 查资源内存
  • 查纹理格式 → Android最好是ETC2格式, IOS最好是PVRTC, Windows PC最好是DXT
  • 查纹理尺寸 → 1024x1024尺寸的纹理, 占用内存是512x512的4倍
  • 查Mipmap → 开启Mipmap会将纹理内存提升1.33倍, 3D场景模型和角色可以开启, 但是UI纹理不建议开启
  • 查【Read/Write Enabled】→ 开启该选项会使内存增大1倍, 建议关闭
  • 查网格
  • 查模型 → 删除临近顶点
  • 查动画片段 → 是否可以进行有损压缩; 是否可以去除一些临近的关键帧
  • 查音频片段 → 是否可以进行有损压缩(ogg格式)
  • 查粒子 → 少用粒子
  • 查shader
  • 查脚本(Lua) → 是否及时卸载
  • 查文本(配置) → 是否及时卸载


2. 查引擎模块自身的内存
  • 查WebStream → 查看是否存在AssetBundle没有被清理干净的情况
  • 查SerializedFile
  • 查ab打包策略 → 公共依赖, 打成公共ab
  • 查ab合包策略 → 是否过大(最好低于10M); 是否过小(会增加IO次数)
  • 查ab加载策略


3. 查托管堆内存(Mono) → 对Unity而言, Mono内存一旦分配, 就不会返回给系统, 即使切换了场景
  • 查Mono内存是否过大 → 不要在Update, FixedUpdate等较高调用频率的函数中开辟堆内存
  • 查Log输出 → 只保留关键Log
  • 查for ... each ... → 避免使用这个语句


4. 查是否有内存溢出

5. 查第三方库
  • 查第三方库的加载时间 → 最好采用延时加载, 用到了才加载


6. 查这个版本和上个版本的区别


回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2019-12-14 11:28 , Processed in 0.059096 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表