游戏测试 利用 PerfDog 分析游戏性能瓶颈

不二 for 光娱游戏 · 2020年03月18日 · 最后由 不二 回复于 2020年03月30日 · 2241 次阅读

@TOC

首先明确测试目的

最近在检查游戏的质量品质,发现流畅度比较差,游戏卡顿较多,
首先我们要明确性能的瓶颈在哪里,这就是本次我们测试的目的;
常见的的游戏瓶颈例如
CPU,GPU,内存,通过 Perfdog 都可以很轻松的得到各项数据指标;但首先确保手机和电脑要连接正常,比如你可以通过 adb devices 来查看手机是否连接到电脑;
像这样:
在这里插入图片描述
接下来要记得设置好你想要捕获的数据,点击右下角的 + 勾选你要的操作;
但要注意,除非必要,否则要根据你自己的需求来勾选要捕获的数据,毕竟每多一项数据,就会多影响一些手机性能,比如电量,但不用担心会对 cpu,内存,gpu 等造成影响,毕竟 perfdog 是针对应用获取的,不是捕获全局数据;
具体的使用方法可以参考
perfdog 操作说明

里面当然也有些具体的指标代表的含义,或者你也可以在这里找到一些描述
Perfdog 支持
在这里插入图片描述

测试报告的解析

这是选取的低端机型
在这里插入图片描述

这里是 CPU 数据,看起来没什么问题,不像是瓶颈。
CPU数据
这是内存数据,内存一直在上涨,呈现上升趋势,有些危险, 可能会存在内存泄漏,而且此处内存是 PSS 内存数据,所以内存占用较高,对于总内存一共是 1.8G 的手机来说内存已经很高了;
可以算是一个瓶颈点;

在这里插入图片描述
这是是 GPU 数据,可以看出,存在一个明显的高消耗区域,
在这里插入图片描述
进一步判断,在这个节点 CPu 的温度骤然上升,毕竟 GPU 已经爆表了嘛;
在这里插入图片描述
继续跟进定位当时的游戏情况,发现是刚刚进入到另一张地图,那么是否是该地图的问题呢?
在这里插入图片描述
去查看该段 GPU 消耗降低时间点,发现在进入地图 3 的时候,GPU 消耗降低,综合以上数据,在地图 2 的时候 GPU 消耗陡然上升爆表,于是我们得出结论,地图 2 里没有优化好,可能一些美术资源没有经过优化,或者在这张地图内有什么其他的骚操作;
在这里插入图片描述

于是本次测试结论有两个,
1 内存过大,呈现一直上升的趋势,可能会存在内存泄露;
2.游戏内的地图 2 存在 GPU 消耗过高的问题,通常是地图没优化好,但也不排除存在其他骚操作;

综合来说我们分析报告首先要明确自己的目标;
1.总体概览一下报告分析;
2.逐项拿数据对比自己产品的指标;
比如我们的安卓内存指标是
|1 档机型指标:最高 PSS<=550MB | 华为 P20/VIVO X20 最高 PSS≤1200MB |
| -- |--|
| 2 档机型指标:最高 PSS<=450MB | OPPO R9 Plus/华为 Mate 8 最高 PSS≤1000MB |
|3 档机型指标:最高 PSS<=350MB| OPPO A59s/VIVO Y66 最高 PSS≤800MB|
3.找比较明显的特质区域
如果没有明显的区域就只能依赖经验一点点分析咯,
4.分析得出结论

共收到 4 条回复 时间 点赞

楼主写的不错哦,很细致。因为最近我也在做这一块,有几个问题请教下:
1、如何区分机型档次,参考的具体指标是什么?
2、上述还有没有进一步的详细分析么,目前还是比较浅显的啊

现在有遇到一个具体的问题是,引擎是 cocos2d。战斗中开启音效和关闭音效,帧率表现差异巨大。平均帧差异,低配机在 10 帧左右,高配机在 20 帧左右。现在怀疑是是音效的读入有问题。

渐渐 回复

区分机型档次其实有很多不同的方法,不过大致分为两大类,1 是跑分,先定义好临界值机型,然后搜集这行跑分得到的数值,跑分可以用工具,也可以自己手写逻辑,主要就是消耗 cpu 的算力以及 GPU 的渲染能力,有很多方法;2 就是直接检测配置,比如内存 1-3G 为低端机,3-4 为终端机,大于 4G 以上为高端机,都可以,配置都是自己定义的。根据项目来不同定义的规则也不同。详细的分析实际上和一些开发内容的知识结合效果比较好;写的时候受限篇幅,太长了视觉效果比较差

渐渐 回复

有可能的,比如资源的加载与实例化的方式可能存在问题,具体其实还是要细化场景去对比从而分析出问题

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册