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帧的次数)
lJank(1s内卡顿次数。iOS9.1以下系统暂时不⽀持。类似Android的Jank卡顿和iOS的FramePacing平滑度统计原理。帧率FPS⾼并不能反映流畅或不卡顿。⽐如:FPS为50帧,前200ms渲染⼀帧,后800ms渲染49帧,虽然帧率50,但依然觉得⾮常卡顿。同时帧率FPS低,并不代表卡顿,⽐如⽆卡顿时均匀FPS为15帧。所以平均帧率FPS与卡顿⽆任何直接关系)
PerfDog Jank计算⽅法:
1. 同时满⾜以下两条件,则认为是⼀次卡顿Jank.
a) 当前帧耗时>前三帧平均耗时2倍。
b) 当前帧耗时>两帧电影帧耗时(1000ms/24*2=84ms)。
2. 同时满⾜两条件,则认为是⼀次严重卡顿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):平均帧耗时
l CPU Usage(Total整机/App进程,统计结果和Xcode⼀致,PerfDog使⽤率=Xcode使⽤率/核⼼数)
l Memory (是统计FootPrint,注:OOM与FootPrint有关,与系统、机型⽆关。只与RAM有关,如1G内存机器。FootPrint超过650MB,引发OOM)。注:PerfDog暂时在iOS9、10系统⽆法获取,其他版本ok。后续版本增加。如做性能测试,建议升级iOS系统版本
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) Tilter:Tilter利⽤率(顶点着⾊处理阶段,若占⽐⾼,说明是VS阶段出现瓶颈,顶点数太多等原因)
3) Device:设备利⽤率(整体GPU利⽤率)
l Network(Recv/Send,测试⽬标进程流量,统计结果合Xcode⼀致)
lBTemp(电池温度)
lBattery Power(整机实时Current电流、Voltage电压、Power功耗)(注:20s获取⼀次,⽬前最精准的统计⽅式,结果和Battery life结果⼀致,⽀持所有iOS机型)
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)。
Android平台
l ScreenShot(只⽀持USB模式)
l FPS(1秒内游戏画⾯或者应⽤界⾯真实平均刷新次数,俗称帧率/FPS)
1) Avg(FPS):平均帧率(⼀段时间内平均FPS)
2) Var(FPS):帧率⽅差(⼀段时间内FPS⽅差)
3) Drop(FPS):降帧次数(平均每⼩时相邻两个FPS点下降⼤于8帧的次数)
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(Total整机/App⽬标进程,统计结果和Android Studio Profiler⼀致)
l CPU Clock(各个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(⽬前仅⽀持部分⾼通芯⽚⼿机)
l GPU Frequency(⽬前仅⽀持部分⾼通芯⽚⼿机)
xcode界面l Network(Recv/Send)
l CTemp(CPU温度)
l Battery Power(Current电流、Voltage电压、Power功耗)(注:与仪器测试误差<3%左右)
l Log⽇志采集(WIFI模式下,不⽀持Log收集)
Web性能数据管理:
l 账户信息管理
l 性能数据管理、图表展⽰、编辑、版本对⽐
l 性能测试任务管理
为了保证测试结果的正确严谨性及可对⽐性。我们写了demo及APP进⾏测试对⽐。
1、iOS平台:
PerfDog性能狗测试数据结果与XCode/Instrument(苹果官⽅⼯具需要游戏源码编译测试)测试结果⼀致。(注:Xcode/Instrument性能影响较⼤,PerfDog(性能狗)性能影响很⼩)
2、Android平台:
安卓平台⽐较关注的是⼯具本⾝对⼿机性能影响,为了测试的严谨性、可对⽐性,我们在⼩⽶5⼿机上锁死最低频率。含截图测试影响结果如下:
PerfDog(性能狗)性能影响:CPU占⽐6%-10%(正常频率下CPU占⽐1-3%)。
其他⼯具性能影响:CPU占⽐27%-33%
备注:⼯具本⾝性能影响⼤的话,⼿机容易发热,同时对游戏&应⽤性能有很⼤影响。
使⽤步骤:
步骤1:Window PC/苹果Mac机器上安装、运⾏PerDog(性能狗)客户端。
iOS:若PerfDog检测不到连接⼿机或⽆法测试,请先安装确保最新itunes是否能连上⼿机(最新itunes可在QQ管家上直接下载安装)。
Android:请开启⼿机USB调试模式及允许USB应⽤安装。
步骤2:启动PerfDog(性能狗),然后USB连接⼿机,⾃动检测添加⼿机到应⽤列表中。
iOS:则即插即⽤,⽤户⽆需做任何操作。
Android:有两种模式,⾮安装模式和安装模式。(注:需开启USB调试模式)。
a. ⾮安装模式:
⼿机即插即⽤,⽆需任何设置及安装,使⽤⾮常简单,但⼿机屏幕上没有实时性能数据显⽰。
b. 安装模式:
需要在⼿机上⾃动安装PerfDog.apk,⼿机屏幕上有实时性能数据显⽰(允许USB应⽤安装和PerfDog悬浮窗管理权限),启动PC版,则会在⼿机上⾃动PUSH安装PerfDog.apk,具体安装类
似各个⼿机⼚商安装第三⽅APP提⽰安装即可。(注:由于很多⼿机安装需要账号密码,导致⽆法⾃动安装,如果⾃动安装失败,则会把安装⽂件PerfDog.apk释放到当前⽂件夹⾥,⼿动安装PerfDog.apk即可)。此模式下,在测试过程中,可能由于系统资源紧缺会kill PerfDog显⽰app(⼿机界⾯性能数据显⽰),但不影响正常测试功能。
步骤3:测试模式
l USB模式测试:
USB连线后,在设备列表选择USB图标设备进⾏USB模式测试
l WIFI模式测试(测试功率):
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论