中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

android獲取某應用的幀數據

發布時間:2020-08-15 02:12:21 來源:網絡 閱讀:614 作者:lilier 欄目:移動開發

android獲取某應用的幀數據:

  • 前提操作:

(打開手機 開發者選項-GPU顯示配置文件(顯示于 adb shell dumpsys gfxinfo)勾上,只有4.1以上支持)

在android4.1中,谷歌提供了一個工具來,叫做“ GPU呈現模式分析(Profile GPU rendering)”,

在開啟這個功能后,系統就會記錄保留操作界面最后128幀圖像繪制的相關時間信息


  • 正式開始開始操作

  1. 打開需要測試的頁面,上下勻速的滑動(這里建議最好是用腳本穩定運行)

  2. 命令行 adb shell dumpsys gfxinfo com.taobao.mobile.dipei

  3. 結果中 Profile data in ms 

分析下面數據(這里要注意,找到對應的頁面activity對應的數據)

Draw:表示在Java中創建顯示列表部分中,OnDraw()方法占用的時間。 

Process:表示渲染引擎執行顯示列表所花的時間,view越多,時間就越長 

Execute:表示把一幀數據發送到屏幕上排版顯示實際花費的時間。


其實是實際顯示幀數據的后臺緩存區與前臺緩沖區交換后并將前臺緩沖區的內容顯示到屏幕上的時間。所以這個時間,一般都很短。

PS:View類包含Surface(變量名mSurface),每個Surface通常對應兩個buffer,一個front buffer, 一個back buffer。

 (4.1之后是3個,一個前,兩個后)其中,back buffer就是canvas繪圖時對應的bitmap (研究Android_view_Surface.cpp::lockCanvas)。

 因此,繪畫總是在back buffer上,需要更新時,則將back buffer和front buffer互換。   

 Draw + Process + Execute = 完整顯示一幀 ,

 這個時間要小于16ms才能保存每秒60幀。

將數據復制到excel中(win記得逐列復制,mac下就直接復制過去吧),然后將數據生成“堆積柱形圖”;


  • 統計數據

  1. 將上面步驟中得到的三列數據,放到excl里面,將3個值加在一起得到一幀的總耗時sum1,sum2,....sum128,共128個幀值;

  2. 將這128個幀中大于16ms的數據count()出來,比如,得到10幀是大于16ms的;

  3. 再將10/128 與8%比較,超過8%則可以斷定基本不合格;小于8%可以算合格;

這里面的3個步驟,均可以用腳本來實現,后續會補上特定的章節來描述如何用腳本來實現;

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

特克斯县| 民和| 濮阳县| 永康市| 汽车| 江孜县| 东莞市| 凌源市| 图木舒克市| 隆昌县| 石首市| 武山县| 西贡区| 闻喜县| 平邑县| 佛教| 佛学| 呼伦贝尔市| 永善县| 临汾市| 河津市| 客服| 清苑县| 昔阳县| 安平县| 鄂尔多斯市| 岳阳县| 南充市| 常山县| 新巴尔虎左旗| 黔江区| 横峰县| 绍兴县| 安康市| 从化市| 郯城县| 哈密市| 栾川县| 海兴县| 蕲春县| 和硕县|