English User’s Guide:https://bbs.perfdog.qq.com/article-detail.html?id=7
介绍:
挪动全平台 iOS/Android 性能测试、剖析工具平台。疾速定位剖析性能问题,晋升 APP 利用及游戏性能和品质。手机无需 ROOT/ 越狱,手机硬件、游戏及利用 APP 也无需做任何批改,极简化即插即用。
PerfDog 反对挪动平台所有应用程序(游戏、APP 利用、浏览器、小程序、小游戏、H5、后盾零碎过程等)、Android 模拟器、云真机等性能测试。反对 APP 多过程测试(如 Android 多子过程及 iOS 扩大过程 APP Extension)。
Windows & Mac OS X 平台 PerfDog 桌面应用程序版本都反对对 iOS 和 Android 设施进行测试。PC 上 PerfDog 可多开,单 PC 可同时测试多台手机。
重要阐明 Q &A:https://bbs.perfdog.qq.com/detail-128.html
非凡机型指南:https://bbs.perfdog.qq.com/detail-127.html
性能参考规范阐明:https://bbs.perfdog.qq.com/detail-145.html
WEB 使用手册:https://bbs.perfdog.qq.com/article-detail.html?id=49
装置及运行:
步骤 1 :登录 PerfDog 官网 https://perfdog.qq.com/,依据您的 PC 平台抉择想要下载的桌面应用程序
Windows平台:解压下载包,双击关上 PerfDog.exe 桌面应用程序。
Mac平台:间接运行 dmg 桌面应用程序。
备注:PerfDog 采纳免装置软件(绿色版)模式,想要更新软件则从新在官网下载最新版即可。
步骤 2 :USB 连贯手机,自动检测增加手机到利用列表中。
iOS:则即插即用,用户无需做任何操作。若 PerfDog 检测不到连贯手机或无奈测试,请先装置确保最新 itunes 是否能连上手机(最新 itunes 可在 QQ 管家上间接下载安装)。
备注:若无奈应用请参考:https://bbs.perfdog.qq.com/detail-128.html
Android:有两种模式,非装置模式和装置模式。(注:请开启手机 USB 调试模式及容许 USB 利用装置。)。
a. 非装置模式:
手机即插即用,无需任何设置及装置,应用非常简单,但手机屏幕上没有实时性能数据显示。
b. 装置模式:
须要在手机上主动装置 PerfDog.apk,手机屏幕上有实时性能数据显示(容许 USB 利用装置和 PerfDog 悬浮窗管理权限),启动 PC 版 PerfDog.exe,则会在手机上主动 PUSH 装置 PerfDog.apk,具体装置相似各个手机厂商装置第三方 APP 提醒装置即可。(注:因为很多手机装置须要账号密码,导致无奈主动装置,如果主动装置失败,则会把安装文件 PerfDog.apk 开释到以后文件夹里,手动装置 PerfDog.apk 即可)。此模式下,在测试过程中,可能因为系统资源紧缺会 kill PerfDog 显示 app(手机界面性能数据显示),但不影响失常测试性能。
备注:若无奈应用请参考:https://bbs.perfdog.qq.com/detail-128.html
步骤 3 :测试模式
l USB 模式测试:
USB 连线后,在设施列表抉择 USB 图标设施进行 USB 模式测试
l WIFI 模式测试(测试功率):
只能在 WIFI 模式测试功率等信息。USB 连线后,在设施列表抉择 WIFI 图标设施进行 WIFI 模式测试。WIFI 检测连贯胜利后,拔掉 USB 连接线。(注:须要 PC 和被测手机连贯同一 WIFI,WIFI 检测连贯胜利后,拔掉被测手机 USB 线(USB 模式测试功率无任何意义,会充电))(备注:个别公司 WIFI 可能做了安全策略限度,导致 iOS 平台在公司 WIFI 下无奈应用)
步骤 4:抉择测试的游戏 & 利用
PC 如图:
Android 平台,装置模式下,手机屏幕左上角有实时性能数据显示(Android 手机请关上 PerfDog 悬浮窗管理权限,否则手机上不会显示性能参数)
软件性能数据采集:
iOS平台(苹果官网 Xcode 工具参数对齐。注:iOS 系统对过程性能参数做严格限度,超过限度则会被零碎 kill)
l ScreenShot(只反对 USB 模式)
l FPS(1 秒内游戏画面或者利用界面实在均匀刷新次数,俗称帧率 /FPS)
1) Avg(FPS): 均匀帧率(一段时间内均匀 FPS)
2) Var(FPS): 帧率方差(一段时间内 FPS 方差)
3) Drop(FPS): 降帧次数(均匀每小时相邻两个 FPS 点降落大于 8 帧的次数)
l Jank(1s 内卡顿次数。iOS9.1 以下零碎临时不反对。相似 Android 的 Jank 卡顿和 iOS 的 FramePacing 平滑度统计原理。帧率 FPS 高并不能反映晦涩或不卡顿。比方:FPS 为 50 帧,前 200ms 渲染一帧,后 800ms 渲染 49 帧,尽管帧率 50,但仍然感觉十分卡顿。同时帧率 FPS 低,并不代表卡顿,比方无卡登时平均 FPS 为 15 帧。所以均匀帧率 FPS 与卡顿无任何间接关系)
参考:https://bbs.perfdog.qq.com/article-detail.html?id=6
PerfDog Jank计算方法:
- 同时满足以下两条件,则认为是一次卡顿Jank.
a) 以后帧耗时 > 前三帧均匀耗时 2 倍。
b) 以后帧耗时 > 两帧电影帧耗时(1000ms/24*2=84ms)。
- 同时满足两条件,则认为是一次重大卡顿BigJank.
a) 以后帧耗时 > 前三帧均匀耗时 2 倍。
b) 以后帧耗时 > 三帧电影帧耗时(1000ms/24*3=125ms)。
1) BigJank:1s 内重大卡顿次数
2) Jank(/10min): 均匀每 10 分钟卡顿次数。
3) BigJank(/10min): 均匀每 10 分钟重大卡顿次数
l FTime(高低帧画面显示工夫距离,即认为帧耗时,iOS9.1 以下零碎临时不反对)
1) Avg(FTime): 均匀帧耗时
2) Delta(FTime): 增量耗时(均匀每小时两帧之间时间差 >100ms 的次数)
l CPU Usage(TotalCPU 示意整机 CPU 使用率,AppCPU 示意过程 CPU 使用率,统计后果和 Xcode 统一,PerfDog 使用率 =Xcode 使用率 / 外围数。备注:iOS 平台 CPU Usage 是未规范化 CPU 使用率,请参考 https://bbs.perfdog.qq.com/detail-146.html)
l Memory (是统计 FootPrint,注:OOM 与 FootPrint 无关,与零碎、机型无关。只与 RAM 无关,如 1G 内存机器。FootPrint 超过 650MB,引发 OOM)。注:PerfDog 临时在 iOS9、10 零碎无奈获取,其余版本 ok。后续版本减少。如做性能测试,倡议降级 iOS 零碎版本
l Xcode Memory (XCode Debug gauges 统计形式即 XCode Memory)。注:iOS9、10 零碎临时无奈获取,其余版本 ok。后续版本减少。如做性能测试,倡议降级 iOS 零碎版本
l Real Memory(Xcode Instrument 统计形式即 Real Memory,理论占用物理内存。注:物理内存零碎策略无关,掂量内存指标时不会关注,然而它有助于剖析定位整体性能问题。比方:footprint 没有升高,阐明利用没有开释内存,然而 real memory 却升高了,阐明系统对内存做了压缩。因为压缩会占用 CPU 资源,同时相应会导致 FPS 升高)
l Virtual Memory(虚拟内存)
l Wakeups(线程唤醒次数。注:超过 150 过程很大可能会被零碎 kill。a sleep/wake cycle on each thread per second,Exceeding limit of 150 wakeups per second over 300 seconds,特地是 iOS13.2 闷杀后盾过程事件,倡议重点关注)
l CSwitch(上下文切换测试。注:单核超过 14000 过程会被零碎 Kill。Context Switch Limit 14000(Core/Second)
l GPU Utilization
1) Render: 渲染器利用率(像素着色解决阶段,若占比高,阐明是 PS 阶段呈现瓶颈,shader 过于简单或纹理大小、采样简单等)
2) Tiler: Tiler 利用率(顶点着色解决阶段,若占比高,阐明是 VS 阶段呈现瓶颈,顶点数太多等起因)
3) Device: 设施利用率(整体 GPU 利用率)
l Network(Recv/Send,测试指标过程流量,统计后果合 Xcode 统一)
l BTemp(电池温度)
l Battery Power(整机实时 Current 电流、Voltage 电压、Power 功耗)(注:20s 获取一次,目前最精准的统计形式,后果和 Battery life 后果统一,反对所有 iOS 机型)
注:Sum(Battery)是耗电量。
l Energy Usage(即为 Xcode Energy Impact。监控利用应用的能耗状况(包含 CPU、GPU、NetWork、Location、Display (iPhone X only)、Overhead)。(注:和 Xcode Energy Impact 后果统一。有线模式下测试,反对 iOS9 及以上零碎。Total Energy<=270 为 Low,270<Total Energy<=1000 为 High,Total Energy>1000 为 Very High)。
参考:https://help.apple.com/xcode/mac/11.0/index.html?localePath=en.lproj#/devf7f7c5fcd
l Log 日志采集(WIFI 模式下,不反对 Log 收集)
Android平台
l ScreenShot(只反对 USB 模式)
l FPS(1 秒内游戏画面或者利用界面实在均匀刷新次数,俗称帧率 /FPS)
1) Avg(FPS): 均匀帧率(一段时间内均匀 FPS)
2) Var(FPS): 帧率方差(一段时间内 FPS 方差)
3) Drop(FPS): 降帧次数(均匀每小时相邻两个 FPS 点降落大于 8 帧的次数)
备注:高阶 FPS 性能 -Android 窗口与 FPS
请参考 https://bbs.perfdog.qq.com/?m=app&c=detail&a=index&id=201
l Jank(1S 内卡顿次数。解释阐明如 iOS 平台阐明)
1) BigJank:1s 内重大卡顿次数
2) Jank(/10 分钟): 均匀每 10 分钟卡顿次数。
3) BigJank(/10 分钟): 均匀每 10 分钟重大卡顿次数
l FTime(高低帧画面显示工夫距离,即认为帧耗时)
1) Avg(FTime): 均匀帧耗时
2) Delta(FTime): 增量耗时(均匀每小时两帧之间时间差 >100ms 的次数)
l CPU Usage(传统 CPU 利用率,也叫未规范化 CPU 利用率,TotalCPU 示意整机未规范化 CPU 使用率,AppCPU 示意过程未规范化 CPU 使用率。备注:统计后果和 Android Studio Profiler 统一。具体参考 https://bbs.perfdog.qq.com/detail-146.html)
l CPU Usage (Normalized)(规范化 CPU 利用率,TotalCPU 示意整机规范化 CPU 使用率,AppCPU 示意过程规范化 CPU 使用率。备注:倡议参考规范化 CPU 利用率,性能参考更精准。具体参考 https://bbs.perfdog.qq.com/detail-146.html)
l CPU Clock(各个 CPU 外围的未规范化频率和未规范化使用率)
l CPU Clock (Normalized) (各个 CPU 外围的规范化频率和规范化使用率)
l Memory (PSS Memory,统计后果和 Android Java API 规范后果统一,与 Meminfo 也统一。注:局部三星机器零碎批改了 Meminfo 底层统计形式,导致 Meminfo 与 Java AP 统计后果不统一,新出三星机器已修复)
l Swap Memory (Swap Memory,局部设施反对 Swap 性能,在启用 Swap 性能后,零碎会对 PSS 内存进行压缩,Swap 减少,PSS 会相应缩小,因为压缩会占用 CPU 资源,同时相应会导致 FPS 升高)
l Virtual Memory(VSS)
l Memory Detail(NativePSS、GFX、GL、Unknown)
l GPU Usage(目前仅反对局部高通芯片手机)。注:Top Android GPU 测试机型,请参考:https://bbs.perfdog.qq.com/detail-195.html
l GPU Frequency(目前仅反对局部高通芯片手机)。
l Network(Recv/Send,测试指标过程流量)
l CTemp(CPU 温度)
Battery Power(Current 电流、Voltage 电压、Power 功耗)(注:与仪器测试误差 <3% 左右)。注:Sum(Battery)是耗电量。
l Log 日志采集(WIFI 模式下,不反对 Log 收集)
Web 性能数据管理:
l 账户信息管理
l 性能数据管理、图表展现、编辑、大版本比照
l 性能数据统计、剖析及多维度比照等
l 性能测试工作治理
软件性能介绍:
- 性能参数管制 Page:
点击”+”按钮,抉择须要收集性能参数,管制性能参数显示 page
- 记录保留:
测试完结时,可自主抉择两种形式保留解决 (Upload/Save) 性能数据:
1)将性能数据同步上传 PerfDog 云端 web 看板
2)本地导出 Excel 文件
- 记录回放(不便回看剖析):
关上要回放文件
回放后果如图:
- 批注及标定(鼠标左键双击,则批注。左键双击已生成的批注,则勾销。鼠标左键单击,则标定):
- 设定性能参数统计分析阈值、编辑统计参数剖析及框选记录保留(对齐 TDR 规范):
能够通过鼠标框选 / 拖动查问工夫周期内,统计数据等。同时可对框选数据进行保留。左边能够设定对应的性能参数统计分析阈值等。
- 场景 Label 标签:
通过标签按钮给性能数据打标签,鼠标左键双击色彩区域可批改对应区域标签名
- 屏幕记录:
留神:截屏记录开启,影响性能
- 多过程测试。
iOS 平台,APP 多过程分为 APP Extension 和零碎 XPC Server。
比方:某电竞直播软件用到 APP Extension 扩大过程(扩大过程名 LABroadcastUpload)。当然也可能用到零碎 XPC Server 服务过程,如个别 web 浏览器会用到 webkit。
Android 平台,个别大型 APP,比方游戏有时候是多过程合作运行(微信小游戏,微视等 APP 及王者光荣等游戏多子过程),可抉择指标子过程进行针对性测试。默认是主过程。如图王者光荣
Android 如何测试微信小游戏 & 小程序:https://bbs.perfdog.qq.com/article-detail.html?id=46
iOS 如何测试微信小游戏 & 小程序:https://bbs.perfdog.qq.com/article-detail.html?id=47
微信小游戏、小程序测试等,如下是微信小游戏 - 浪漫玫瑰园
备注:子程序过程名高亮显示,示意以后子过程处于顶层。
- FPS 高阶性能(Android 平台):
满足高级用户更精准测试窗口帧率(游戏、小游戏、小程序、直播、视频类、web 等所有利用都实用)。
请参考:https://bbs.perfdog.qq.com/?m=app&c=detail&a=index&id=201
- Log 日志性能:
采集系统日志信息。
- 进行性能:
无需拔手机,StopProfilling 即可进行采集信息。
- 自定义数据文件服务器地址,构建本人 web 云:
可批改数据文件服务器上传地址。Post 上传 http 协定格式文件至本人服务器地址。
参考阐明及 Demo: https://bbs.perfdog.qq.com/detail-217.html
Web 云平台性能介绍:
- 集体性能数据 MyData。
具体性能数据展现。
- 测试工作治理
创立工作邀请测试成员退出,或退出其他人创立的测试工作中。
- 性能数据共享演绎
- 测试工作性能数据 Task Data
- 数据报告隐衷分享
拜访他人分享链接即可查看数据报告:
https://perfdog.qq.com/case_detail/367665 Password: xs2BPa
- Case 报告多维度比照(详情、机型、版本、比例、区间、趋势、利落缩放等)。
比例、区间、趋势、利落缩放等比照(鼠标左右拖动性能曲线)