常用Profiler使用總結

  • 這篇文章總結一下在遊戲開發過程中常用的幾種Profiler的使用,偏美術側。

Unity Profiler

  • 首先是Unity自帶的Profiler工具,使用方便,界面清晰,信息明確。主要看CPU、GPU、Rendering和Memory模塊的信息。Unity Profiler

CPU

  • 可以比較方便的查看各個函數的耗時、GC等。
    Unity Profiler

  • 還可以使用Profiler.BeginSample()和Profiler.EndSample()包裹住代碼塊,進行更爲精準的性能測試
    Unity ProfilerUnity Profiler

GPU

  • 可以看到不同部分的DrawCall、耗時等,但是在一些設備上不支持,也比較消耗性能,不需要的時候儘量不開啓Unity Profiler

Rendering

  • 可以看到場景的DrawCall、總頂點數、總三角面數,以及合批的情況,和一些渲染相關的圖片內存佔用Unity Profiler

Memory

  • 選擇左上角切換Detailed模式,再Take Sample即可獲得當前幀的內存具體細節。Editor下對於內存的profile不夠精準,推薦連接真機進行測試。Unity ProfilerUnity Profiler

連接真機

  • 點擊Editor按鈕,下拉菜單裏可以選擇當前電腦usb連接的手機
  • 或者在Enter IP裏輸入手機的IP地址,即可連接上真機進行測試。
  • 注意,需要打包時勾選Autoconnect Profiler,否則有可能連接不上Unity Profiler

Hdg Remote Debug

  • 可以連接構建後的包進行動態調試的插件

連接真機

  • 首先在場景裏放上RemoteDebugServer,然後打包Hdg Remote Debug

  • 在手機上打開遊戲包,然後在Remote Debug界面左上角輸入手機IP,進行連接,即可動態調試手機包裏當前場景裏的物體了Hdg Remote DebugHdg Remote DebugHdg Remote Debug

新增可控物體

  • 默認的可控物體只有當前場景內的,不包括HideFlag爲DontDestroy的。
  • 如果需要加入這些物體,可以在創建該物體時加一句Hdg.RemoteDebugServer.AddDontDestroyOnLoadObject(object)即可(object即爲需要加入的物體)。

GPA

Launch Application

  • 在模擬器上安裝apk遊戲包,如果該遊戲有桌面版,可以直接安裝桌面版更爲便捷。

  • 打開Graphics Monitor,開啓自動加載應用程序GPA

  • 打開模擬器,會在左上角出現UI(開啓後儘快關閉自動加載應用程序,否則會對後續打開的其他應用程序進行profile佔用性能造成卡頓)GPA

Capture Frame

  • 在模擬器內使用快捷鍵截取快照,如果快捷鍵衝突,也可以使用Trigger進行截取快照GPA

Frame Analyzer

  • 打開Graphics Frame Analyzer,雙擊截圖,可以看到該幀的具體渲染信息GPA

  • 還可以對模型進行導出GPA

RenderDoc

  • 對於真機上的遊戲包,可以使用RenderDoc進行查看渲染信息。前一篇博文非常詳細地寫了如何使用RenderDoc,有興趣可以看那一篇,此處只做簡略介紹。

Launch Application

  • 如果是PC端應用程序,直接在Path裏選擇該應用程序然後點擊Launch即可

  • 如果是安卓端應用程序,需要先配置安卓環境,檢測adb連接順利,然後就可以在左下角進行連接(首次連接會在手機上安裝RenderDoc Server端)。左下角顯示Remote Server Ready後,在Path選擇需要profile的應用程序,再點擊Launch即可。RenderDocRenderDoc

Capture Frame

  • 在手機上應用程序運行到需要測試的時候,點擊Capture Frame Immediately即可截取快照,也可以選擇延時進行截取RenderDoc

Frame Analyzer

  • 雙擊快照即可分析當前快照的渲染信息(注意如果是手機端程序要保持連接)RenderDoc
發佈了19 篇原創文章 · 獲贊 28 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章