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 會在您首次連結新裝置時執行驗證檢查,整個過程約需 10 秒。通過檢查後,您就可以使用裝置分析 Android 應用程式。

驗證作業執行期間,請勿打擾裝置。這可能會導致裝置驗證失敗。如果裝置驗證失敗但設定正確,請重新選取裝置,重新進行驗證。

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

如果裝置列為支援的裝置,您可以預期 AGI 通過驗證。如果清單中沒有裝置,表示裝置的 GPU 驅動程式很可能與 AGI 不相容。

如果系統支援裝置,但驗證失敗

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

如果符合所有要求,請在我們的 GitHub 存放區回報問題,說明相關行為。

如果 Google 助理不支援你的裝置

我們正與原始設備製造商 (OEM) 合作夥伴攜手,努力支援更多裝置。您可以在我們的 GitHub 存放區回報問題,要求支援裝置。

擷取剖析資料

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

調整 Android 設定

開始剖析前,您必須設定這些 Android 應用程式和裝置設定,進而指定要剖析的應用程式和裝置。

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

  2. 在電腦上啟動 AGI。

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

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

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

    AGI 啟動畫面
    圖 2:Android GPU 檢查器主畫面。
  5. 在啟動畫面中,按一下「Capture a new trace」。系統隨即會顯示「Capture A New Trace」對話方塊。您也可以按一下「Capture System Profile trace」(擷取系統設定檔追蹤記錄) 按鈕。

    擷取新的追蹤記錄對話方塊
    圖 3:擷取新的追蹤記錄對話方塊。
  6. 在「Device and Type」區段中,選取要剖析的 Android 裝置。如果未顯示在「Device」清單中,請按一下重新載入箭頭以重新整理清單。

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

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

    1. 按一下「Application」欄位旁的「...」按鈕。

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

    2. 在「Filter」文字方塊中,輸入 gapid,只顯示套件名稱中含有 gapid 的應用程式。

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

      系統會將您導向「Capture A New Trace」對話方塊,其中由您選取的應用程式填入的「Application」欄位。

  8. 在「Application」區段中,將其他欄位保留空白。

  9. 按一下「OK」

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

剖析系統

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

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

  2. 在「Type」(類型) 清單中,選取「System profile」

  3. 在「Start and Duration」(開始與時間長度) 區段中,將「Start at」(開始於) 設為「Manual」(手動),並將「Duration」(時間長度) 設為 2

  4. 按一下「Trace Options」區段中的「Configure」。這樣就會顯示剖析選項清單。

    擷取設定對話方塊
    圖 4:「Capture System Profile」對話方塊中的剖析選項。
  5. 選取你要擷取的剖析資料。

  6. 按一下「GPU」專區中的「選取」

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

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

  8. 按一下「OK」返回主要的「Capture System Profile」對話方塊。

  9. 在「Output」部分中,選取「Output Directory」以儲存剖析期間產生的追蹤檔。「File Name」欄位應會自動填入,但您也可以編輯。

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

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

  12. 按一下「Open Trace」。顯示的初始檢視畫面與 systrace 類似。

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

    除了 Systrace 中可用的資料,AGI 也會顯示 GPU 效能資訊。如要進一步瞭解如何查看系統剖析資料,請參閱「查看 AGI 系統設定檔」。

如要進一步瞭解其他設定,請參閱系統剖析選項一文。

剖析影格

如要分析應用程式的個別影格,請執行下列步驟:

  1. 在 AGI 啟動畫面中,按一下「Capture a new trace」,顯示「Capture A New Trace」對話方塊。或者,您也可以按一下「Capture Frame Profile trace」按鈕。

  2. 在「Type」清單中,根據應用程式使用的圖形 API,選取「Vulkan」或「OpenGL on ANGLE」。請務必選擇正確的類型,否則 AGI 就不會擷取任何圖形指令。

  3. 在「開始與時間長度」部分,將「開始時間」設為「手動」。如果您點選了「Capture Frame Profile trace」按鈕,表示這個步驟已完成。

  4. 在「Output」(輸出) 區段中,選取用來儲存追蹤檔的「Output Directory」。「File Name」欄位應會自動填入,但您也可以編輯。

  5. 選用:部分應用程式會產生不同的程序,用來執行所有圖形處理作業。如要擷取該程序,請指定其名稱。

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

  7. 按一下「Start」按鈕,然後等待幾秒,讓剖析完成。

  8. 按一下「Open Trace」,即可查看剖析資料。如要瞭解影格分析器 UI 中的每個窗格,請參閱影格剖析總覽

如要進一步瞭解其他設定,請參閱「影格剖析選項」。