W Android GPU Inspector (AGI) możesz wyświetlać i analizować profil systemu w interfejsie System Profiler. Po profilowaniu systemu i otwarciu pliku śledzenia w AGI Profiler systemu wyświetla dane profilowania na osi czasu z elementami, które można rozwinąć, aby wyświetlić dodatkowe szczegóły.
Główne elementy interfejsu narzędzia Profiler systemu to:
Pasek narzędzi
Pole tekstowe filtra ścieżek: filtruje ścieżki wyświetlane w panelu ścieżki.
Przycisk informacji (i): wyświetla metadane śladu i urządzenia.
Przycisk pomocy (?): wyświetla skróty klawiszowe i ułatwienia korzystania z myszy.
Oś czasu: wskazuje przedział czasu zdarzeń śledzenia.
Panel Ścieżka: wyświetla dane profilowania w odniesieniu do osi czasu.
Panel Szczegóły: rozwijany panel, który wyświetla szczegóły wybranego elementu.
Profilowanie danych
W pliku śledzenia dane profilowania są przechowywane w zdarzeniach oznaczonych sygnaturą czasową, zwanych zdarzeniami śledzenia. Zdarzenia śledzenia składają się z różnych typów wycinków i liczników. Na przykład zdarzenia śledzenia procesora obejmują przedziały planowania, a zdarzenia śledzenia procesora graficznego obejmują liczniki wydajności procesora graficznego i przedziały wątków.
W interfejsie Profilera systemu panel ścieżki zawiera zdarzenia śledzenia, które są wyświetlane w wierszach zwanych ścieżkami, na podstawie osi czasu. Ścieżki tego samego typu są wyświetlane w grupach ścieżek.
Ścieżki GPU
Ścieżki GPU wyświetlają informacje o profilowaniu GPU. Oto główne typy ścieżek GPU:
Ścieżki kolejki GPU: aktywność GPU aplikacji.
Ścieżki liczników GPU: liczniki sprzętowe GPU próbkowane w okresowych odstępach czasu.
Vulkan Events Track: wydarzenia związane z interfejsem Vulkan API.
Ścieżki SurfaceFlinger: zdarzenia SurfaceFlinger, które wskazują, jak bufory graficzne przemieszczają się w systemie.
Ścieżki kolejki GPU
GPU może mieć 1 lub więcej ścieżek kolejki GPU w zależności od liczby kolejek sprzętowych, które były uruchomione podczas śledzenia. Ścieżki Kolejka GPU zawierają wycinki aktywności, które reprezentują okres i rodzaj pracy GPU wykorzystywanej przez aplikację.
Fragment aktywności zawiera metadane, które możesz wyświetlić, takie jak bufor poleceń Vulkan, przepustka renderowania i bufor ramki, które zainicjowały pracę. Uchwyty Vulkan do tych obiektów są wyświetlane w panelu szczegółów w ten sposób:
VkCommandBuffer
VkRenderPass
VkFrameBuffer
Możesz nadawać tym obiektom przyjazne dla użytkownika nazwy, aby łatwo je identyfikować w śladzie obok ich uchwytów. W tym celu użyj funkcji vkSetDebugUtilsObjectNameEXT
z rozszerzenia VK_EXT_debug_utils
lub funkcji vkDebugMarkerSetObjectNameEXT
z rozszerzenia VK_EXT_debug_marker
. Oba rozszerzenia są implementowane przez AGI i dostępne w aplikacji podczas śledzenia.
Ścieżki liczników GPU
Wykres licznika GPU śledzi wartość liczników wydajności GPU próbkowanych w okresowych odstępach czasu. Wykresy pokazują różnice w wydajności procesorów graficznych i podstawowych komponentów sprzętowych między próbkami. Dzięki tym informacjom możesz zidentyfikować wąskie gardła w wykorzystaniu procesora graficznego.
Dostępne liczniki są zależne od sprzętu. Aby wyświetlić krótkie opisy poszczególnych liczników, najedź kursorem na nazwę ścieżki. Więcej informacji znajdziesz w artykule Liczniki wydajności procesora graficznego.
Ścieżka zdarzeń Vulkan
Ścieżka zdarzeń Vulkan pokazuje zdarzenia interfejsu Vulkan API zarejestrowane podczas śledzenia. Typy zdarzeń ścieżki to głównie zdarzenia przesyłania do kolejki (vkQueueSubmit
wywołań). Jeśli klikniesz zdarzenie przesłania kolejki, AGI wyróżni wycinki aktywności GPU powiązane z wywołaniem. Możesz użyć tych danych, aby sprawdzić pracę asynchroniczną w kolejce wywołań interfejsu Vulkan API oraz opóźnienie między procesorem a GPU.
Ślady SurfaceFlingera
SurfaceFlinger śledzi cykl życia buforów graficznych (elementów docelowych renderowania łańcucha wymiany aplikacji) w miarę ich przechodzenia przez system, aż do momentu wyświetlenia. Zdarzenia są agregowane według bufora, co ułatwia śledzenie narzutu i opóźnienia potrzebnych do uzyskania i opublikowania buforów.
Interakcja z danymi profilowania
W tej sekcji opisujemy, jak korzystać z danych profilowania w interfejsie narzędzia System Profiler.
Przypnij
Możesz przypinać ścieżki i grupy ścieżek za pomocą przycisku przypinania.
Zwijanie i rozwijanie
Niektóre ścieżki i wszystkie grupy ścieżek można zwinąć. Niektóre grupy ścieżek wyświetlają podsumowanie po zwinięciu. Na przykład po zwinięciu grupa ścieżek procesora pokazuje ogólne wykorzystanie procesora na wykresie.
Zoom
AGI agreguje dane profilowania na podstawie poziomu powiększenia. Gdy po raz pierwszy otworzysz plik śledzenia, Profiler systemowy wyświetli cały profil w maksymalnym powiększeniu. Możesz sprawdzić profil, wyszukując obszary zainteresowania, a następnie wyświetlając szczegóły.
Gdy powiększasz i pomniejszasz różne typy ścieżek, wyświetlają się różne rodzaje danych profilowania. Na przykład ścieżki procesora początkowo wyświetlają przedziały czasowe każdego wątku, a następnie po powiększeniu przełączają się na wyświetlanie danych o wykorzystaniu rdzenia procesora.
Wyświetl szczegóły
Aby wyświetlić szczegółowe metadane w panelu szczegółów, wybierz elementy w panelu ścieżki. Jeśli element można wybrać, po najechaniu na niego kursorem zmieni się on w wskaźnik, a następnie możesz wybrać element.
Wybierz zakres czasu
Możesz wybrać zakres czasu, co umożliwia porównywanie zdarzeń śledzenia z różnych ścieżek. Aby to zrobić, włącz tryb Czas, a następnie przeciągnij, aby zaznaczyć zakres. Wszystko poza tym zakresem jest przyciemnione, a czas trwania zakresu jest wyświetlany.
Możesz też wybrać zakres czasu wybranego wycinka, naciskając M
. Następnie możesz przewijać dodatkowe ścieżki, aby zidentyfikować zdarzenia z tego samego okresu.
Skróty nawigacyjne
Po elementach w panelu ścieżki możesz poruszać się za pomocą klawiszy WASD
lub przewijając i przesuwając widok. Profiler systemu używa tych samych skrótów klawiszowych i myszy co Systrace.
Dostępne skróty:
W
iS
lubCtrl++
iCtrl+-
, aby powiększyć widok.- Strzałki
A
iD
lubleft
iright
przesuwają widok w lewo i w prawo. - Strzałki
Q
iE
lubup
idown
przewijają ścieżki. - Przytrzymanie
shift
zwiększa szybkość poruszania się w nawigacji. Ctrl
+przewijanie powiększa wybrany element.F
powiększa wybrany element.Z
+0
powoduje zresetowanie i całkowite oddalenie.V
włącza podświetlanie synchronizacji pionowej, jeśli jest ona dostępna w śladzie.M
oznacza bieżące zaznaczenie, wybierając jego zakres czasowy.H
lub?
wyświetla arkusz skrótów klawiszowych i myszy.
Tryb nawigacji
Pasek narzędzi zawiera przyciski, które przełączają tryby nawigacji. Wybierają one działanie wykonywane podczas przeciągania elementów w panelu ścieżki. Możesz też wybrać te tryby nawigacji, naciskając klawisze 1
, 2
, 3
i 4
:
- Zaznaczenie: przeciągnij, aby zaznaczyć elementy w ramce.
- Przesuwanie: przeciągnij, aby przesunąć i przewinąć ścieżki. Jest to tryb domyślny.
- Powiększenie: przeciągnij w pionie, aby powiększyć elementy.
- Czas: przeciągnij, aby wybrać zakres czasu.
Możesz też używać trybów nawigacji z tymi klawiszami modyfikującymi:
Shift+
przeciągnij, aby zaznaczyć elementy w polu.Space+
przeciągnij, aby przesunąć i przewinąć;Ctrl+
przewiń, aby powiększyć;Ctrl+
przeciągnij, aby wybrać zakres czasu;