Android GPU Inspector 快速入門導覽課程

本主題說明如何使用 Android GPU 檢查器 (AGI),對 Android 應用程式執行系統剖析影格剖析

本快速入門導覽課程適用於熟悉 Android 圖形開發作業的開發人員。

電腦需求

執行 AGI 的電腦必須符合下列需求:

下載並安裝 AGI

下載並安裝適用於您作業系統的 AGI。

Android 應用程式規定

本節說明要剖析的 Android 應用程式必須符合哪些條件:

  • 您的 Android 應用程式必須可供偵錯;應用程式 Android 資訊清單中的可偵錯屬性必須設為 true。這個屬性可讓圖形驅動程式進行適當的檢測。對於 Vulkan 應用程式,這個屬性可讓 AGI 在應用程式啟動時新增自己的 Vulkan 層。

    <application [...] android:debuggable="true">
    

如果應用程式原生使用 Vulkan,AGI 也需要下列項目:

  • 應用程式必須啟用 Vulkan 驗證層。如果未啟用,您可以執行下列指令,強制應用程式使用 AGI APK (com.google.android.gapid.<abi>) 內含的驗證層執行:

    app_package=<YOUR APP PACKAGE NAME HERE>
    abi=arm64v8a # Possible values: arm64v8a, armeabi-v7a, x86
    
    adb shell settings put global enable_gpu_debug_layers 1
    adb shell settings put global gpu_debug_app ${app_package}
    adb shell settings put global gpu_debug_layer_app com.google.android.gapid.${abi}
    adb shell settings put global gpu_debug_layers VK_LAYER_KHRONOS_validation
    

    完成剖析後,可以使用下列指令停用這些驗證層:

    adb shell settings delete global enable_gpu_debug_layers
    adb shell settings delete global gpu_debug_app
    adb shell settings delete global gpu_debug_layers
    adb shell settings delete global gpu_debug_layer_app
    
  • 啟用 Vulkan 驗證層後,應用程式執行時不得回報任何警告或錯誤。請先修正所有 Vulkan 驗證錯誤,再進行剖析。

  • 如果您使用 Beta 版 GPU 驅動程式,請在 Android 資訊清單的 <application> 標記中加入下列中繼資料:

    <meta-data
              android:name="com.android.graphics.developerdriver.enable"
              android:value="true" />
    

Android 裝置需求

AGI 必須符合下列 Android 裝置需求:

裝置驗證

AGI 需要相容的 GPU 驅動程式。為確保 AGI 提供有效的剖析資料,第一次連線至新裝置時,AGI 會執行驗證檢查,這需要約十秒。通過檢查後,您就可以使用裝置剖析 Android 應用程式。

驗證期間請勿干擾裝置。這可能會導致裝置驗證失敗。如果裝置驗證失敗,但設定正確,可以重新選取裝置,再次嘗試驗證。

驗證是裝置的一次性步驟,結果會快取,以供日後使用 AGI。不過,如果裝置設定變更 (例如更新 GPU 驅動程式或 Android 版本),AGI 會再次執行驗證。

如果裝置列在支援的裝置清單中,AGI 應該就能通過驗證。如果裝置未列出,表示 GPU 驅動程式可能與 AGI 不相容。

如果裝置支援這項功能,但驗證失敗

請確認您已符合前幾節所述的所有 Android 需求電腦需求,且裝置已透過 USB 傳輸線正確連接至電腦。

如果符合所有規定,請在 GitHub 存放區提出問題,說明相關行為。

如果裝置不支援這項功能

我們正與 OEM 合作夥伴攜手,為更多裝置提供支援。如要要求支援某項裝置,請在我們的 GitHub 存放區回報問題

擷取剖析資料

以下各節說明如何擷取剖析資料,以及開啟產生的追蹤檔,以便分析結果。

設定 Android 設定

開始剖析前,請先設定這些 Android 應用程式和裝置設定,指定要剖析的應用程式和裝置。

  1. 使用 USB 傳輸線將 Android 裝置連接到電腦。

  2. 在電腦上啟動 AGI。

    首次啟動 AGI 時,系統會顯示「歡迎」畫面,並提示您輸入 adb 可執行檔的路徑。AGI 會將這些設定儲存在 HOME 資料夾的 .agic 檔案中。如果已完成這項操作,可以略過這個步驟。

    歡迎畫面
    圖 1:歡迎畫面。
  3. 在「Path to adb」(adb 路徑) 欄位中,輸入 adb 執行檔的路徑。這個欄位後方的核取方塊為選填。

  4. 按一下「開始使用」,顯示啟動畫面。

    AGI 啟動畫面
    圖 2:Android GPU 檢查器主要啟動畫面。
  5. 在啟動畫面上,按一下「擷取新追蹤記錄」。系統會顯示「Capture A New Trace」對話方塊。或者,您也可以按一下「擷取系統設定檔追蹤記錄」按鈕。

    「Capture A New Trace」對話方塊
    圖 3:擷取新追蹤記錄對話方塊。
  6. 在「裝置和類型」部分,選取要設定設定檔的 Android 裝置。如果「裝置」清單中未顯示該裝置,請按一下重新載入箭頭,重新整理清單。

  7. 在「應用程式」部分,選取要分析的應用程式。如果套件中只有一個活動,您可以選取套件,不必選取活動。

    AGI 包含範例 Vulkan 應用程式。如要使用範例應用程式而非自己的應用程式,請執行下列步驟:

    1. 按一下「應用程式」欄位旁的「...」按鈕。

      系統會顯示「Select an Application to Trace」對話方塊,其中列出所選裝置上可追蹤的應用程式。

    2. 在「篩選器」文字方塊中輸入 gapid,即可只顯示套件名稱包含 gapid 的應用程式。

    3. 展開套件並選取「com.google.android.gapid.VkSampleActivity」,然後按一下「OK」

      系統會返回「Capture A New Trace」(擷取新追蹤記錄) 對話方塊,並在「Application」(應用程式) 欄位中填入您選取的應用程式。

  8. 在「應用程式」部分,將其他欄位留空。

  9. 按一下「確定」

現在可以使用 AGI 執行系統和影格剖析。

剖析系統

如要分析系統,請執行下列步驟:

  1. 在 AGI 啟動畫面中,按一下「Capture a new trace」,顯示「Capture System Profile」對話方塊。

  2. 在「Type」(類型) 清單中,選取「System profile」(系統設定檔)

  3. 在「開始時間和時間長度」部分,將「開始時間」設為「手動」,並將「時間長度」設為 2

  4. 在「追蹤選項」部分,按一下「設定」。畫面上會顯示剖析選項清單。

    「擷取設定」對話方塊
    圖 4:「擷取系統設定檔」對話方塊中的剖析選項。
  5. 選取要擷取的剖析資料。

  6. 在「GPU」區段中,按一下「選取」

    畫面會顯示可選取的計數器清單。

    計數器設定
    圖 5: 選取計數器。
  7. 按一下「default」選取預設計數器集,然後按一下「OK」返回剖析選項。

  8. 按一下「確定」返回「擷取系統設定檔」對話方塊。

  9. 在「Output」(輸出) 部分,選取「Output Directory」(輸出目錄),儲存剖析期間產生的追蹤記錄檔。「檔案名稱」欄位應會自動填入,但您也可以編輯。

  10. 按一下「OK」。這會在 Android 裝置上啟動所選應用程式,並顯示含有「開始」按鈕的彈出式視窗。

  11. 按一下「開始」按鈕,開始擷取剖析資料,並等待幾秒鐘,讓程序完成。

  12. 按一下「開啟追蹤記錄」。顯示的初始檢視畫面與 systrace 類似。

    系統設定檔追蹤記錄
    圖 6: 系統設定檔 UI。

    除了系統追蹤記錄提供的資料外,AGI 也會顯示 GPU 效能資訊。如要進一步瞭解如何查看系統剖析資料,請參閱「查看 AGI 系統設定檔」。

如要瞭解其他設定,請參閱系統剖析選項

剖析影格

如要剖析應用程式中的個別影格,請按照下列步驟操作:

  1. 在 AGI 啟動畫面中,按一下「Capture a new trace」(擷取新追蹤記錄),即可顯示「Capture A New Trace」(擷取新追蹤記錄) 對話方塊。或者,您也可以按一下「Capture Frame Profile trace」按鈕。

  2. 在「類型」清單中,根據應用程式使用的 Graphics API,選取「Vulkan」或「ANGLE 上的 OpenGL」。請務必選擇正確的管道,否則 AGI 無法擷取任何圖形指令。

  3. 在「開始時間和時長」部分中,將「開始時間」設為「手動」。如果您點選「擷取影格設定檔追蹤記錄」按鈕,則已完成這個步驟。

  4. 在「輸出」部分,選取「輸出目錄」來儲存追蹤檔。「檔案名稱」欄位應會自動填入,但你也可以編輯。

  5. 選用:部分應用程式會產生不同的程序,負責處理所有圖像。如要擷取該程序,請指定其名稱。

  6. 按一下「OK」。這會在 Android 裝置上啟動應用程式,並顯示含有「開始」按鈕的彈出式視窗。

  7. 按一下「開始」按鈕,然後等待幾秒鐘,剖析作業就會完成。

  8. 按一下「開啟追蹤」即可查看剖析資料。如要瞭解 Frame Profiler UI 中的各個窗格,請參閱「影格剖析總覽」。

如要瞭解其他設定,請參閱影格剖析選項