最近做的项目需要和Unity做交互, Unity作为一款游戏引擎, 还是很耗性能的, 所以找了找性能测试的工具, 发现了腾讯的PerfDog, 记录一下使用心得。

一.查看官网说明
官网地址
官网使用说明

咱们先去看一下说明文档, 看说明文档很重要的, 会让自己少走很多弯路

重要说明Q&A 该链接主要是讲一系列的为什么?

Android和ios如何调试?

GPU信息查看?

电量功率查看?

性能信息, WIFI测试模式?

可仔细阅读是否有自己对应的问题

特殊机型指南 该链接是针对于一些低版本手机不能测试和可能会并发的问题

性能标准参考说明 什么是性能,性能标准多少合适, 可以在这里找到答案。

WEB使用手册 PerfDog可以下载客户端使用, 也可以直接在官网登录后,后台直接使用, 该链接的WEB说明非常的详细, WEB使用上, 就请参考该链接吧。

PerfDog说明书截图

ios perfdog链接_帧率

二.客户端下载安装

PerfDog 客户端下载

ios perfdog链接_Memory_02

我的是windows版本的

解压后的文件如图, 点击PerfDog.exe安装即可

ios perfdog链接_官网_03

解压后的文件

需要登录才能进到perfDog的主页, 输入刚刚官网注册邮箱即可。

ios perfdog链接_官网_04

这是登录成功的界面呀

三.perfDog首页都有哪些东西呢?

板块解说

ios perfdog链接_Memory_05

板块1: 选择调试的手机设备
点击选择手机后, 会给手机安装一个PerfDog应用, 需要同意安装, 否则会安装失败

板块2: 安装成功后, 板块2"请选择测试应用" 会显示手机上安装的所有应用
板块2的应用

版本3: 手机的CPU,GPU分辨率,内存介绍
Setting,是设置FPS(帧率)、FrameTime(帧生成时间)、CPU、Network(Recv/Send,测试目标进程流量)
板块3中的设置

板块4/板块5/板块6: 转标题四

四.perfDog种的 FPS,CPU,Memory是什么?

仔细阅读官方说明文档, 这些都有讲解到, 我自己还是简单的做了一个总结

官网的说明

ios perfdog链接_官网_06

FPS
FPS(Frames per second) 1秒内游戏画面或者应用界面真实平均刷新次数,俗称帧率/FPS。

名称 说明
Avg(FPS) 平均帧率(一段时间内平均FPS)
Var(FPS) 帧率方差(一段时间内FPS方差)
Drop(FPS) 降帧次数(平均每小时相邻两个FPS点下降大于8帧的次数)
在平时玩游戏的时候, 延迟不能大于100毫秒, 否则用户的严重只剩下了卡顿, 100-300毫秒用户可以感受到延迟, 当达到一秒, 用户的注意力就会转移

Jank
1秒内卡顿次数, 帧率FPS高并不能反映流畅或不卡顿。比如:FPS为50帧,前200ms渲染一帧,后800ms渲染49帧,虽然帧率50,但依然觉得非常卡顿。同时帧率FPS低,并不代表卡顿,比如无卡顿时均匀FPS为15帧。所以平均帧率FPS与卡顿无任何直接关系)
官网提供的参考链接: 必看

名称 说明
Jank 1s内卡顿次数(同时满足ab,则认为一次卡顿Jank)
a) 当前帧耗时>前三帧平均耗时2倍。
b) 当前帧耗时>两帧电影帧耗时(1000ms/242=84ms)。
BigJank 1s内严重卡顿次数(同时满足ab,则认为是一次严重卡顿BigJank)
a) 当前帧耗时>前三帧平均耗时2倍。
b) 当前帧耗时>三帧电影帧耗时(1000ms/24
3=125ms)。
Jank(/10min) 平均每10分钟卡顿次数
BigJank(/10min) 平均每10分钟严重卡顿次数
PerfDog Stutter 测试过程中,卡顿时长的占比。Stutter(卡顿率)=卡顿市场/总时长
FTime
名称 说明
FTime 上下帧画面显示时间间隔,即认为帧耗时
Avg(FTime) 平均帧耗时
Delta(FTime) 增量耗时(平均每小时两帧之间时间差>100ms的次数)
CPU Usage
CPU利用率官方讲解

名称 说明
Total CPU 整机CPU使用率
AppCPU 进程CPU使用率
CPU Clock 各个CPU核心的未规划频率和未规划使用率
CPU Clock Normalized 各个CPU核心的规划频率和规划使用率
Memory
名称 说明
Memory PSS Memory
统计结果和Android Java API标准结果一致,与Meminfo也一致。注:部分三星机器系统修改了Meminfo底层统计方式,导致Meminfo与Java AP统计结果不一致,新出三星机器已修复)
Swap Memory 部分设备支持Swap功能,在启用Swap功能后,系统会对PSS内存进行压缩,Swap增加,PSS会相应减少,由于压缩会占用CPU资源,同时相应会导致FPS降低
Virtual Memory(VSS) VSS 虚拟耗用内存(包含共享库占用的内存)
Memory Detail NativePSS、GFX、GL、Unknown
CTemp CPU温度
Battery Power(Current电流、Voltage电压、Power功耗)
注:与仪器测试误差<3%左右。
注:Sum(Battery)是耗电量。
GPU Usage
名称 说明
GPU Usage 目前仅支持部分高通芯片手机
注:Top Android GPU测试机型,参考
GPU Frequency 目前仅支持部分高通芯片手机
Network
名称 说明
Network(Recv/Send 测试目标进程流量
五.perfDog使用
选择一个测试应用, 开始跑吧, 唰唰唰的一大批测试数据就呈现了, 同桌看到后, 问我在干嘛? 看起来这么高大上的样子, 哈哈

5.1 点击+按钮,选择需要收集性能参数,默认已经选中了一些常用的

选择需要收集性能参数

ios perfdog链接_Memory_07

手机小窗测试数据展示, 需给perfDog 小窗展示权限

ios perfdog链接_python_08

手机上的数据展示

5.2 记录保存

部分按钮说明

ios perfdog链接_python_09

5.3 云端数据看板, 测试结束后, 可保存到云端, 也可以存到本地查看

云端测试项目

ios perfdog链接_Memory_10

云端测试详情

ios perfdog链接_ios perfdog链接_11

本地表格记录

本地表格保存测试数据

ios perfdog链接_python_12

5.4 测试数据回放

本地文件选择

ios perfdog链接_ios perfdog链接_13

回放数据展示

ios perfdog链接_官网_14

5.5 Log日志记录

log日志记录

ios perfdog链接_官网_15