1. 程式人生 > >Adreno GPU Profiler工具使用總結

Adreno GPU Profiler工具使用總結

res rdquo 相關數 導入 pro 監測 orm 相關 手機端

Adreno Profiler介紹

Adreno Profiler 是高通公司開發的一款針對運行在高通驍龍處理器上用於圖形和GPGPU技術應用的性能分析和幀調試工具。工具本質上是一個OpenGL ES Draw Call Replay,此要求PC端也必須支持手機端設備的 OpenGL ES 所有特征。由於這個工具是高通提供的,所以只能運行在高通芯片的安卓機上。

Adreno Profiler連接方式

1、adb連接:可以直接下載一個Android SDK,platform-tools下有個adb.exe執行程序,配置好環境變量。

2、ip連接:PC開設一個共享wifi,手機連接這個wifi,用wifi顯示的ip地址進行連接。

Adreno Profiler性能測試

  • 監測實時的GPU性能
  • 捕獲一幀,然後依照API的調用依次調試
  • 分析每一次調用Draw 函數的性能
  • 查看texture、programe、shader和其他的資源
  • 查看shader統計(vertex shader/ fragment shader/shader busy)

Adreno Profiler基本步驟

1、連接前提:高通芯片手機一部,所運行的app支持相關Android網絡權限。在電腦打開Adreno Profiler,點左上角的Connect。

連接方式:手機插到電腦上使用adb連接,或者在同一局域網內使用IP連接。準備好之後點擊Refresh,直至刷出對應的設備和應用。

雙擊出現的設備和應用進入連接。

技術分享圖片

2、點擊Scrubber GL彈出抓取界面,然後點擊Capture Frame抓取某一幀畫面,等待一段時間即可。等待階段切勿重復抓取,可能會導致卡死現象。第一次抓取可能會沒有數據,可以再抓取一次試試。

tips:抓取完成之後,可以點擊上方的Save將幀數據保存成apr文件,這樣可以之後Open,省的每次分析都需要連接手機、打開遊戲。

技術分享圖片

3、在上圖中,可以看到“Render Calls”一欄,其實是抓取了一幀中所有GL部分的調用及相關數據,然後按照繪制命令組織。當選中不同的Render Call時,工具會顯示從一開始到這一個命令的繪制結果,方便看到每一個中間過程。此外,在API Calls中,還可以看到每一個Render Call之前的其他命令,包括各種對GL狀態機的修改,具體的頂點信息也能看到。

技術分享圖片

技術分享圖片

4、如果想看其他數據項,在Capture Frame之前,點擊Metrics選項開啟需要觀察的數據項。如果想對shader進行性能分析,可以開啟Vertices Shaded和Fragment Shaded,抓幀之後能看到對應頂點shader和片段shader數據了,主要觀察Fragment Shaded,一般對Fragment Shaded數據參考標準是70W個。

技術分享圖片

5、就紋理來說,在右邊可以看到所有顯存裏的紋理資源,點開可以看到具體的紋理參數和縮略圖。在上面有一個小的按鈕,可以將所有紋理都保存成一個個文件,可以開啟minimaps view查看紋理圖。

技術分享圖片

6、就Shader來說,同樣也是可以看到所有Program,工具還會貼心的標出所有利用了該Shader的Render Call,下面可以看到反匯編出來的指令:

tips:有些機型能測試的機型不一定能看到反匯編出shader指令,也可能和Android版本有關,多用幾臺機型測試。

技術分享圖片

7、就模型來說,選中一個Render Call然後Save Vertex Data就可以導出Obj了,但是生成的文件還需要修改下才能導入,主要是修改命名,具體打開看看obj文件長啥樣的。

具體學習可以參考 obj文件格式詳解

技術分享圖片

8、Adreno Profiler 提供了實時的GPU的監控, 其中提供了大量的監測點,可以實時的查看GPU的情況, 點擊菜單欄中的”Grapher“,有兩個子菜單”App metrics Graph“和”Global metrics Graph“,並不是所有的手機支持後者,且在使用IP連接的時候,後者也是無法使用的。選中"App Metrics Graph", 查看GPU的實時數據。

tips:如果打開沒有數據曲線,可以從右邊把相應的想觀察的數據項拖進來。

技術分享圖片

技術分享圖片

總結:Adreno Profiler提供了一些很方便的可視化功能,譬如選中一個紋理或者Shader,可以標記出所有使用該資源的Render Call,選中Render Call的時候會在屏幕上標記其繪制效果,總之很方便的工具一只。

Adreno GPU Profiler工具使用總結