Krótkie wprowadzenie do Inspektora GPU na Androidzie

Z tego artykułu dowiesz się, jak osiągnąć profilowania systemu oraz profilowanie ramek w aplikacji na Androida za pomocą narzędzia Android GPU Inspector (AGI).

To krótkie wprowadzenie jest przeznaczone dla programistów znających się na grafiki aplikacji na Androida.

Wymagania dotyczące komputera

Komputer z AGI musi spełniać te wymagania:

Pobieranie i instalowanie AGI

Pobierz i zainstaluj AGI dla swojego systemu operacyjnego.

Wymagania dotyczące aplikacji na Androida

W tej sekcji opisano wymagania dotyczące aplikacji na Androida, która jest profilowane:

  • Aplikacja na Androida musi umożliwiać debugowanie. atrybut możliwy do debugowania w pliku manifestu Androida aplikacji musi być ustawiona wartość true. Ten atrybut umożliwia włączenie odpowiednich narzędzi ze sterownika karty graficznej. Do Vulkan dla aplikacji, ten atrybut umożliwia AGI dodanie własnej warstwy interfejsu Vulkan, gdy po uruchomieniu aplikacji.

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

Jeśli Twoja aplikacja natywnie korzysta z interfejsu Vulkan, AGI wymaga też:

  • Aplikacja musi mieć warstwy sprawdzania poprawności interfejsu Vulkan . Jeśli nie są włączone, możesz uruchomić następujące polecenia, aby wymusić aby aplikacja działała z warstwami walidacyjnymi zawartymi w pakiecie APK AGI (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
    

    Po zakończeniu profilowania możesz wyłączyć te warstwy weryfikacji za pomocą następujące polecenia:

    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
    
  • Aplikacja nie może zgłaszać ostrzeżeń ani błędów podczas uruchamiania z Warstwy sprawdzania poprawności interfejsu Vulkan . Przed profilowaniem napraw błędy weryfikacji interfejsu Vulkan.

  • Jeśli korzystasz ze sterowników GPU w wersji beta, dołącz te metadane do pliku Tag <application> w pliku manifestu Androida:

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

Wymagania dla urządzeń z Androidem

AGI ma takie wymagania dotyczące urządzeń z Androidem:

Weryfikacja urządzenia

AGI wymaga zgodnego sterownika GPU. Aby zapewnić prawidłowe profilowanie danych, AGI przeprowadza weryfikację przy pierwszym podłączeniu nowego urządzenia, co trwa około 10 sekund. Po pomyślnym zakończeniu sprawdzania możesz używać urządzenia do: profilu aplikacji na Androida.

Nie przeszkadzać urządzeniu w trakcie weryfikacji. Może to spowodować, że nie powiodła się. Jeśli urządzenie nie przejdzie weryfikacji, ale jest prawidłowo skonfigurowane, możesz ponowić próbę weryfikacji, wybierając ponownie urządzenie.

Weryfikacja jest jednorazowym krokiem dla urządzenia, a wyniki są zapisywane w pamięci podręcznej na przyszłość. korzystania z AGI. AGI uruchomi weryfikację ponownie, jeśli zmieni się konfiguracja urządzenia, np. zaktualizuje się sterownik GPU lub wersja Androida.

Jeśli urządzenie jest obsługiwane, możesz: należy spodziewać się, że AGI przejdzie weryfikację. Jeśli urządzenia nie ma na liście, jego sterownik GPU to najprawdopodobniej niezgodne z AGI.

Jeśli urządzenie jest obsługiwane, ale nie przechodzi weryfikacji

Upewnij się, że spełniasz wszystkie wymagania dotyczące Androida oraz wymaganiach dotyczących komputera opisanych w poprzednich sekcjach, czy jest prawidłowo podłączone do komputera kablem USB.

Jeśli spełniasz wszystkie wymagania, zgłoś problem na naszym GitHubie opisujący jego zachowanie.

Jeśli Twoje urządzenie nie jest obsługiwane

Współpracujemy z naszymi partnerami OEM nad zapewnieniem obsługi dla większej liczby urządzeń. Dostępne opcje zgłoś problem na naszym Repozytorium GitHub umożliwiające zgłoszenie prośby o pomoc dotyczącą urządzenia.

Przechwytywanie danych profilowania

W sekcjach poniżej opisano, jak przechwycić dane profilowania oraz otworzyć aby przeanalizować wyniki.

Konfigurowanie ustawień Androida

Przed rozpoczęciem profilowania musisz skonfigurować te aplikacje na Androida i urządzenia z Androidem ustawień, które określają aplikację i urządzenie do profilowania.

  1. Podłącz urządzenie z Androidem do komputera kablem USB.

  2. Uruchom AGI na komputerze.

    Po pierwszym uruchomieniu AGI wyświetla się ekran powitalny, wyświetla się prośba o podanie ścieżki do pliku wykonywalnego adb. AGI zapisuje te ustawienia w: plik .agic w folderze HOME. Jeśli zostało to już zrobione, możesz pominąć ten krok.

    Ekran powitalny
    Rysunek 1. Ekran powitalny.
  3. W polu Ścieżka do adb wpisz ścieżkę do pliku wykonywalnego adb. są opcjonalne.

  4. Kliknij Rozpocznij, aby wyświetlić ekran uruchamiania.

    Ekran uruchamiania AGI
    Rysunek 2. Główny ekran uruchamiania narzędzia Android GPU Inspector.
  5. Na ekranie uruchamiania kliknij Zarejestruj nowy log czasu. Wyświetlane w oknie Capture A New Trace (Zarejestruj nowy ślad). Możesz też kliknąć Przechwyć ślad profilu systemowego.

    Okno Przechwytywanie nowego logu czasu
    Rysunek 3. Przechwytywanie nowego logu czasu.
  6. W sekcji Urządzenie i typ wybierz urządzenie z Androidem, którego chcesz użyć. profil. Jeśli nie widać go na liście Urządzenia, kliknij załaduj ponownie , aby odświeżyć listę.

  7. W sekcji Aplikacja wybierz aplikację, którą chcesz profilować. Jeśli Pakiet zawiera tylko jedną aktywność, możesz wybrać pakiet zamiast aktywności.

    AGI zawiera przykładową aplikację Vulkan. Aby używać przykładowej aplikacji zamiast własnej, wykonaj te czynności:

    1. Kliknij przycisk ... obok pola Aplikacja.

      Wyświetli się okno Wybierz aplikację do śledzenia, które wyświetla listę aplikacji, które można śledzić na wybranym urządzeniu.

    2. W polu tekstowym Filtr wpisz gapid, aby wyświetlić tylko aplikacje które zawierają gapid w nazwie pakietu.

    3. Rozwiń pakiet i wybierz com.google.android.gapid.VkSampleActivity, a następnie kliknij OK.

      Spowoduje to powrót do okna Capture A New Trace (Przechwyć nowy ślad), w którym będzie widoczny element Pole Aplikacja wypełniane przez wybraną aplikację.

  8. W sekcji Application (Aplikacja) pozostaw pozostałe pola puste.

  9. Kliknij OK.

Teraz możesz skorzystać z AGI do profilowania systemu i klatek.

Profilowanie systemu

Aby profilować system, wykonaj te czynności:

  1. Na ekranie uruchamiania AGI kliknij Zarejestruj nowy log czasu, aby wyświetlić Okno Capture System Profile (Przechwytywanie profilu systemu).

  2. Na liście Typ wybierz Profil systemu.

  3. W sekcji Początek i czas trwania ustaw Rozpocznij od na Ręcznie. i Czas trwania na 2.

  4. W sekcji Opcje śledzenia kliknij Skonfiguruj. Spowoduje to wyświetlenie listy różnych opcji profilowania.

    Okno konfiguracji przechwytywania
    Rys. 4. Opcje profilowania w Okno zapisywania profilu systemu.
  5. Wybierz dane profilowania, które chcesz zarejestrować.

  6. W sekcji GPU kliknij Wybierz.

    Pojawi się lista liczników do wyboru.

    Konfiguracja licznika
    Rys. 5. Wybieranie liczników.
  7. Kliknij default, aby wybrać zestaw liczników domyślnych, a następnie kliknij OK. aby zwrócić opcje profilowania.

  8. Kliknij OK, aby powrócić do głównego okna Capture System Profile (Przechwytywanie profilu systemu).

  9. W sekcji Dane wyjściowe wybierz Katalog wyjściowy, w którym będzie przechowywana oraz pliki śledzenia generowane podczas profilowania. Pole Nazwa pliku Pole powinno zostać uzupełnione automatycznie. Możesz je też edytować.

  10. Kliknij OK. Spowoduje to uruchomienie wybranej aplikacji na urządzeniu z Androidem, wyświetli wyskakujące okienko z przyciskiem Rozpocznij.

  11. Kliknij przycisk Start, aby rozpocząć rejestrowanie danych profilowania, i poczekaj kilka sekund na zakończenie procesu.

  12. Kliknij Open Trace (Otwórz śledzenie). Początkowy widok to podobny do systrace.

    Śledzenie profilu systemowego
    Rysunek 6. Interfejs systemu profilującego.

    Oprócz danych dostępnych w systemie systrace AGI pokazuje także GPU dane na temat skuteczności. Więcej informacji o wyświetlaniu profilowania systemu Więcej informacji znajdziesz w sekcji Wyświetlanie profilu systemu AGI.

Informacje o dodatkowych ustawieniach znajdziesz w sekcji opcji profilowania systemu.

Profilowanie ramki

Aby profilować pojedynczą klatkę z aplikacji, wykonaj te czynności:

  1. Na ekranie uruchamiania AGI kliknij Zarejestruj nowy log czasu, aby wyświetlić Capture A New Trace (Przechwyć nowy log czasu). Możesz też kliknąć Przechwyć ślad profilu ramki.

  2. Z listy Typ wybierz Vulkan lub OpenGL w ANGLE. do którego interfejsu Graphics API używa Twoja aplikacja. Upewnij się, że wybierasz właściwą w przeciwnym razie AGI nie przechwytuje żadnych poleceń graficznych.

  3. W sekcji Początek i czas trwania ustaw Rozpocznij od na Ręcznie. Jeśli kliknięto przycisk Przechwyć ślad profilu ramki, ten krok został już wykonany. .

  4. W sekcji Dane wyjściowe wybierz Katalog wyjściowy, w którym będzie przechowywana plików śledzenia. Pole Nazwa pliku powinno być wypełnione automatycznie, ale możesz go edytować.

  5. Opcjonalnie: niektóre aplikacje generują inny proces, który obejmuje całą grafikę. o przetwarzaniu danych. Aby uchwycić ten proces, podaj jego nazwę.

  6. Kliknij OK. Spowoduje to uruchomienie aplikacji na urządzeniu z Androidem i wyświetlenie wyskakujące okienko z przyciskiem Start.

  7. Kliknij przycisk Rozpocznij i poczekaj kilka sekund na profilowanie. gotowe.

  8. Kliknij Open Trace (Otwórz śledzenie), aby wyświetlić dane profilowania. Informacje na temat poszczególnych opcji w interfejsie Frame Profiler, zobacz Omówienie profilowania klatek

Informacje o dodatkowych ustawieniach znajdziesz w sekcji opcji profilowania ramek.