Android流暢度之幀率
阿新 • • 發佈:2017-06-05
package 獲取 執行 info oot 實測 target blank 記錄
背景:app改版,人為感受卡頓,需要客觀數據支撐觀點。故,搜索各種性能指標,並理解之。(這是一篇摘要文......)
首先,明確人為感受的性能不好屬於下面哪種:
1. 響應時間,界面跳轉後響應時間;
2. 流暢度,界面操作時或動畫展示的效果;
而流暢度的衡量指標又有幾種:
1. 幀率fps(Frames Per Second,每秒鐘填充圖像的幀率)
2. 丟幀SF(Skipped frame)
3. 流暢度SM(SMoothness)(騰訊分享)
其中得到最廣泛使用的還是幀率。以下詳細說明之
回顧本源:Android如何繪制UI?
參考:顯示性能指標、性能評測調優
幀率值在什麽範圍可認定為流暢?
理想狀態每秒展示60幀時人眼感受不到卡頓,1000ms/60幀,即每幀繪制時間不應超過16.67ms。
幀率如何計算?
- adb shell dumpsys gfxinfo <PACKAGE_NAME> 參考:Testing Display Performance
- adb shell dumpsys SurfaceFlinger --latency <window_activity> 參考:Android性能測試之fps獲取
二者的區別是什麽?
參考:FPS計算方法比較
實測補充說明:
- 前提需要打開設置中的GPU繪制選項
- 只記錄執行adb命令最近的128幀信息
- 記錄過程冷啟動(殺進程),則之前的數據丟失
Android流暢度之幀率