詳解移動應用測試神器PerfDog
PerfDog介紹:
移動全平臺iOS/Android性能測試、分析工具平臺。快速定位分析性能問題,提升APP應用及游戲性能和品質。手機無需ROOT/越獄,手機硬件、游戲及應用APP也無需做任何修改,極簡化即插即用。PerfDog支持移動平臺所有應用程序(游戲、APP應用、瀏覽器、小程序、小游戲、H5、后臺系統(tǒng)進程等)、Android模擬器、云真機等性能測試。支持APP多進程測試(如Android多子進程及iOS擴展進程APP Extension)。Windows & Mac OS X平臺PerfDog桌面應用程序版本都支持對iOS和Android設備進行測試。PC上PerfDog可多開,單PC可同時測試多臺手機。
安裝及運行:
登錄PerfDog官網(wǎng)https://perfdog.qq.com/,根據(jù)您的PC平臺選擇想要下載的桌面應用程序。
手機即插即用,無需任何設置及安裝,使用非常簡單,但手機屏幕上沒有實時性能數(shù)據(jù)顯示。
b.安裝模式(重點介紹):
需要在手機上自動安裝PerfDog.apk,手機屏幕上有實時性能數(shù)據(jù)顯示(允許USB應用安裝和PerfDog懸浮窗管理權限),啟動PC版PerfDog.exe,則會在手機上自動PUSH安裝PerfDog.apk
PerfDog主界面介紹
設備連接到PC后,在PerfDog中有兩種測試模式,USB模式和WIFI模式,顯示如下:

USB模式測試:
USB連線后,在設備列表選擇USB圖標設備進行USB模式測試
WIFI模式測試(測試功率):
只能在WIFI模式測試功率等信息。USB連線后,在設備列表選擇WIFI圖標設備進行WIFI模式測試。WIFI檢測連接成功后,拔掉USB連接線。
備注:
需要PC和被測手機連接同一WIFI,WIFI檢測連接成功后,拔掉被測手機USB線USB;
USB模式測試功率無任何意義,會充電;
一般公司W(wǎng)IFI可能做了安全策略限制,導致iOS平臺在公司W(wǎng)IFI下無法使用;
選擇測試的游戲或者應用就可以進行測試了,如下圖所示:

對于連接好的設備,主界面右下角會顯示這個設備的相關資料,包括平臺型號、Android 版本、內存等等。

右側是對android設備中的FPS、CPU以及內存參數(shù)的實時監(jiān)控
點擊右下角的+號,可以添加要監(jiān)控的參數(shù),包括FPS\CPU\Memory和Network,如下圖所示:

在默認狀態(tài)下,PerfDog 不會主動記錄數(shù)據(jù),如果希望記錄并導出,可以點擊主界面右上角的播放按鈕,此時 PerfDog 會開始記錄數(shù)據(jù),完成之后可以選擇以 Excel 文件形式存于本地便于處理。
監(jiān)控參數(shù)解釋
ScreenShot(只支持USB模式,注:部分機型截圖影響性能)
FPS(1秒內游戲畫面或者應用界面真實平均刷新次數(shù),俗稱幀率/FPS)
1) Avg(FPS):平均幀率(一段時間內平均FPS)
2) Var(FPS):幀率方差(一段時間內FPS方差)
3) Drop(FPS):降幀次數(shù)(平均每小時相鄰兩個FPS點下降大于8幀的次數(shù))
InterFrame(部分機型具有動態(tài)補幀/插幀技術,此參數(shù)可真實反映1秒內插入的幀數(shù))
Jank(1S內卡頓次數(shù)。解釋說明如iOS平臺說明)
1) BigJank:1s內嚴重卡頓次數(shù)
2) Jank(/10分鐘):平均每10分鐘卡頓次數(shù)。
3) BigJank(/10分鐘):平均每10分鐘嚴重卡頓次數(shù)
Stutter(測試過程中,卡頓時長的占比)
FTime(上下幀畫面顯示時間間隔,即認為幀耗時)
1) Avg(FTime):平均幀耗時
2)Delta(FTime):增量耗時(平均每小時兩幀之間時間差>100ms的次數(shù))
CPU Usage(傳統(tǒng)CPU利用率,也叫未規(guī)范化CPU利用率,TotalCPU表示整機未規(guī)范化CPU使用率,AppCPU表示進程未規(guī)范化CPU使用率。
CPU Usage (Normalized)(規(guī)范化CPU利用率,TotalCPU表示整機規(guī)范化CPU使用率,AppCPU表示進程規(guī)范化CPU使用率。
CPU Clock(各個CPU核心的未規(guī)范化頻率和未規(guī)范化使用率)
Memory (PSS Memory,統(tǒng)計結果和Android Java API標準結果一致,與Meminfo也一致。
Swap Memory (Swap Memory,部分設備支持Swap功能,在啟用Swap功能后,系統(tǒng)會對PSS內存進行壓縮,Swap增加,PSS會相應減少,由于壓縮會占用CPU資源,同時相應會導致FPS降低)
Virtual Memory(VSS)
Available Memory(整機可用剩余內存)
Memory Detail(NativePSS、GFX、GL、JavaHeap、Unknown)
備注:在極限測試情況下,例如開啟游戲超高幀率,建議不要勾選收集Memory Usage和Memory Detail,因為部分機型會有性能損耗。
GPU Usage(目前僅支持部分手機)。注:Top Android GPU測試機型,請參考:
https://perfdog.qq.com/article_detail?id=10101&issue_id=0&plat_id=1
GPU Frequency(目前僅支持部分手機)。
Mali GPU Utilization(僅支持Mali芯片GPU)注:支持的GPU列表,請參考:
https://perfdog.qq.com/article_detail?id=10055&issue_id=0&plat_id=1
1)Non-fragment:非片段著色器(頂點著色器,細分著色器,計算著色器)耗費的GPU時間占渲染耗費的GPU時間的比例。
2) Fragment:片段著色器耗費的GPU時間占渲染耗費的GPU時間的比例。
Mali Memory & Bus Bandwidth(僅支持Mali芯片GPU)
1) L2Load/Store:Load/Store單元讀取L2內存的實際帶寬 (包括頂點緩存,原子,圖像數(shù)據(jù))。
2) L2Texture:Texture單元讀取L2內存的實際帶寬 (紋理采樣)。
3) Bus Read:定義GPU到DRAM或者GPU外部的系統(tǒng)內存的實際讀帶寬。
4) Bus Write:定義GPU到DRAM或者GPU外部的系統(tǒng)內存的實際寫帶寬。
Mali Pixels Info(僅支持Mali芯片GPU)
1) OverDraw:表示每個像素由多少個片段分層組成,通常用于表示像素被重復繪制的次數(shù)。
2) PixelsThroughput:表示每個被渲染的像素耗費的GPU的時鐘的數(shù)量。
注:更多GPU信息說明,請參考:
https://perfdog.qq.com/article_detail?id=10161&issue_id=0&plat_id=1
Network(Recv/Send,測試目標進程流量)(注:USB/WiFi測試模式下均為APP數(shù)據(jù))
CTemp(CPU溫度)
Battery Power(僅WIFI模式,Current電流、Voltage電壓、Power功耗)(注:與儀器測試誤差<3%左右)。注1:Sum(Battery)是耗電量。注2:對于已經兼容的雙電機型,可參考:
https://perfdog.qq.com/article_detail?id=10047&issue_id=0&plat_id=1
未兼容設備可以電流x2進行容錯。
Log日志采集(WIFI模式下,不支持Log收集)