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报告多维度比照(详情、机型、版本、比例、区间、趋势、利落缩放等)。
比例、区间、趋势、利落缩放等比照(鼠标左右拖动性能曲线)