Adreno GPU Profiler工具使用總結

http://blog.csdn.net/daijy0111/article/details/50427758

介紹

Adreno Profiler 是高通公司開發的一款針對運行在高通驍龍處理器上用於圖形和GPGPU技術應用的性能分析和幀調試工具。支持OpenGL ES、 OPenCL、和DirextX的分析和調試。 

安裝系統需求

Adreno 是基於Windows開發的一款應用,雖然目前可以支持在Ubuntu12.04+ ,但是在安裝了momo 後,仍然還會存在不少的問題,因此建議在使用Windows 7 或者Windows 8 , 本人在Windows8測試使用時候,會遇到缺少"msvcp110.dll",可以下載微軟補丁解決。 

安裝手機驅動,本人使用豌豆夾代替了這一步, 省事偷笑,下載AndroidSDK , 將adb路徑添加到環境變量中。 

目前Adreno Profiler 僅支持分析運行在Android和Windows Phone 系統和高通驍龍處理器芯片且包含Adreno GPU硬件平臺上的應用。 


安裝

      目前Adreno Profiler 僅支持64位版本, 在QDN下載所需系統的安裝路徑推薦使用windows版本 ,然後按照步驟默認安裝就可以,安裝的默認路徑爲: C:\Program Files\Qualcomm\Adreno Profiler

性能

Adreno Profiler 支持下面的特點: 
  • 監測實時的GPU性能
  • 捕獲一幀,然後依照API的調用依次調試
  • 分析每一次調用Draw 函數的性能
  • 查看texture、programe、shader和其他的資源
  • 查看shader統計

      Adreno Profiler 可以幫助開發者理解理解CPUvsGPU瓶頸, GPU的瓶頸發生在使用Adreno GPU 的渲染算法時。 


可以調試的程序: 

Adreno Profiler  在點擊連接後, 會提示 adb 找到設備, 有時會提示“no Adreno Profiler --enabled app ”,下面的一些要求也許可以解決這個疑問: 

  •  首先APP 必須是一個OpenGL ES 圖像應用
  •  對於OpenGL ES ,應用必須創建一個上下文
  • 有一些設備可能會阻止Adreno Profiler連接,因此推薦使用Nexus系列的手機

Adreno Profiler 原理上是一個OpenGL ES Draw Call Replay,因此要求PC端也必須支持手機端設備的 OpenGL ES 所有特徵。 

下面介紹一下使用Adreno Profiler 的基本步驟: 


 首先連接手機或者在PC同一個局域網內的其他機器, 在手機端運行需要調試的程序(本例使用了捕魚達人千人炮)
 打開Adreno Profiler ,Title 如圖1: 


圖1
 點擊"Connect", 會彈出連接提示: 如圖2: 


圖2
或者在IP中填寫手機IP地址, 然後點擊refresh ,直到在Context中顯示可以調試的程序,點擊“connect"就可以開始調試了。 

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


圖3

選中"App Metrics Graph", GPU的實時顯示數據,如圖4: 

圖4
點擊Scrubber GL彈出抓取界面,然後點擊Capture Frame一段時間,就可以獲取當前的一幀, 如圖5: 

圖5
你可以點擊Save將其保存,以待之後分析。 

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

圖6

具體的頂點數據什麼也能直接看到如圖7

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

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

圖9

Adreno Profiler 的詳細使用使用還在摸索中, 在隨後的工作中,我將繼續更新。 



[plain] view plain copy
  1.   


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章