Udostępnij za pośrednictwem


Analizowanie użycia zasobów i działania wątku interfejsu użytkownika (XAML)

Użyj profilera osi czasu aplikacji, aby znaleźć i rozwiązać problemy z wydajnością związane z interakcją aplikacji w aplikacjach XAML. To narzędzie pomaga zwiększyć wydajność aplikacji XAML, wyświetlając szczegółowy widok użycia zasobów aplikacji. Możesz przeanalizować czas spędzony przez aplikację przygotowującą ramki interfejsu użytkownika (układ i renderowanie), obsługę żądań sieci i dysków oraz w scenariuszach, takich jak uruchamianie aplikacji, ładowanie strony i zmiana rozmiaru systemu Windows.

Oś czasu aplikacji to jedno z narzędzi, które można rozpocząć od polecenia Debug>Performance Profiler.

To narzędzie zastępuje narzędzie responsywności interfejsu użytkownika XAML, które było częścią zestawu narzędzi diagnostycznych w starszych wersjach programu Visual Studio.

Tego narzędzia można użyć na następujących platformach:

  • Aplikacje uniwersalne systemu Windows (w systemie Windows 10 lub nowszym)
  • Windows 8.1
  • Windows Presentation Foundation (.NET 4.0 i nowsze)
  • Windows 7

Uwaga

Dane użycia procesora CPU i zużycie energii można zbierać i analizować wraz z danymi applicationTimeline . Zobacz Uruchamianie narzędzi profilowania z debugerem lub bez tego debugera.

Zbieranie danych osi czasu aplikacji

Możesz profilować czas odpowiedzi aplikacji na komputerze lokalnym, połączonym urządzeniu, symulatorze programu Visual Studio lub emulatorach albo na urządzeniu zdalnym. Zobacz Uruchamianie narzędzi profilowania z debugerem lub bez tego debugera.

Napiwek

Jeśli to możliwe, uruchom aplikację bezpośrednio na urządzeniu. Wydajność aplikacji zaobserwowana w symulatorze lub za pośrednictwem połączenia pulpitu zdalnego może nie być taka sama jak rzeczywista wydajność na urządzeniu. Z drugiej strony zbieranie danych przy użyciu narzędzi zdalnych programu Visual Studio nie wpływa na dane wydajności.

Poniżej przedstawiono podstawowe kroki:

  1. Otwórz aplikację XAML.

  2. Kliknij pozycję Debuguj/Profiler wydajności. W oknie diagsession powinna zostać wyświetlona lista narzędzi profilowania.

  3. Wybierz pozycję Oś czasu aplikacji, a następnie kliknij przycisk Start w dolnej części okna.

    Application Timeline Tool Selected

    Uwaga

    Może zostać wyświetlone okno Kontrola konta użytkownika z żądaniem uprawnień do uruchomienia pliku VsEtwCollector.exe. Kliknij przycisk Tak.

  4. Uruchom scenariusz, który cię interesuje profilowanie w aplikacji, aby zebrać dane wydajności.

  5. Aby zatrzymać profilowanie, wróć do okna diagsession i kliknij przycisk Zatrzymaj w górnej części okna.

    Program Visual Studio analizuje zebrane dane i wyświetla wyniki.

    Timeline profiler report

Analizowanie danych profilowania osi czasu

Po zebraniu danych profilowania można wykonać poniższe kroki, aby rozpocząć analizę:

  1. Wyświetl informacje na wykresach wykorzystania wątków interfejsu użytkownika i wizualizacji przepływności (FPS), a następnie użyj pasków nawigacji osi czasu, aby wybrać zakres czasu, który chcesz przeanalizować.

  2. Korzystając z informacji w wykresach wykorzystania wątków interfejsu użytkownika lub wykresów przepływności wizualnej (FPS), sprawdź szczegóły w widoku Szczegóły osi czasu, aby znaleźć możliwe przyczyny pozornego braku odpowiedzi.

Scenariusze, kategorie i zdarzenia raportu

Narzędzie Oś czasu aplikacji wyświetla dane o chronometrażu dla scenariuszy, kategorii i zdarzeń związanych z wydajnością XAML.

Oś czasu sesji diagnostycznej

Performance and Diagnostics timeline

Linijka w górnej części strony zawiera oś czasu profilowanych informacji. Ta oś czasu dotyczy wykresu wykorzystania wątku interfejsu użytkownika i wykresu przepływności wizualizacji. Można zawęzić zakres raportu, przeciągając paski nawigacyjne na osi czasu w celu zaznaczenia segmentu osi czasu.

Na osi czasu są również wyświetlane wszystkie wstawione znaczniki użytkownika oraz zdarzenia cyklu życia aktywacji aplikacji.

Wykres wykorzystania wątków interfejsu użytkownika

CPU Utilization Graph

Wykres wykorzystania wątków interfejsu użytkownika (%) to wykres słupkowy, który wyświetla względną ilość czasu spędzonego w kategorii dla okresu kolekcji.

Wykres przepływności wizualnej (FPS)

Visual throughput graph

Wykres liniowy Przepływność wizualizacji (FPS) przedstawia ramki na sekundę (FPS) w interfejsie użytkownika i wątku kompozycji dla aplikacji.

Szczegóły osi czasu

Widok szczegółów to miejsce, w którym większość czasu poświęcasz na analizowanie raportu. Przedstawia użycie procesora CPU przez aplikację podzielone na kategorie podsystemu UI Framework lub składnika systemu, który zużywał procesor CPU.

Obsługiwane są następujące zdarzenia:

Nazwa/nazwisko opis
Analizowanie Czas spędzony na analizowaniu plików XAML i tworzeniu obiektów.

Rozwinięcie węzła analizowania w szczegółach osi czasu powoduje wyświetlenie łańcucha zależności wszystkich plików XAML, które zostały przeanalizowane ze względu na zdarzenie główne. Ta porada pozwala zidentyfikować niepotrzebne analizowanie plików i tworzenie obiektów w scenariuszach wrażliwych na wydajność i zoptymalizować je.
Układ W dużych aplikacjach tysiące elementów może być jednocześnie wyświetlanych na ekranie. Ten ekran może spowodować niską szybkość klatek interfejsu użytkownika i odpowiednio niską szybkość reakcji aplikacji. Zdarzenie układu dokładnie określa koszt układania każdego elementu (czyli czasu spędzonego w rozmieściu, miary, applyTemplate, aranżujoverride i measureOverride). Tworzy również drzewa wizualne, które brały udział w przekazaniu układu. Za pomocą tej wizualizacji można określić, które drzewa logiczne mają być przycinane, lub oceniać inne mechanizmy odroczenia w celu zoptymalizowania przebiegu układu.
Renderowanie Czas spędzony na rysowaniu elementów XAML na ekranie.
I/0 Czas spędzony na pobieraniu danych z dysku lokalnego lub z zasobów sieciowych, które są dostępne za pośrednictwem interfejsu API Internet (WinINet) systemu Microsoft Windows.
Kod aplikacji Czas spędzony na wykonywaniu kodu aplikacji (użytkownika), który nie jest związany z analizowaniem ani układem.
Xaml — inne Czas spędzony na wykonywaniu kodu środowiska uruchomieniowego XAML.

Napiwek

Po rozpoczęciu profilowania wybierz narzędzie Użycie procesora CPU wraz z narzędziem Oś czasu aplikacji, aby wyświetlić metody aplikacji wykonywane w wątku interfejsu użytkownika. Przenoszenie długotrwałego kodu aplikacji do wątku w tle może poprawić czas odpowiedzi interfejsu użytkownika.

Dostosowywanie szczegółów osi czasu

Użyj paska narzędzi Szczegóły osi czasu, aby sortować, filtrować i określać adnotacje wpisów widoku szczegółów osi czasu.

Nazwa/nazwisko opis
Sortuj według elementu Sortuj według czasu rozpoczęcia lub długości zdarzeń.
Group events by frame Dodaje lub usuwa kategorię ramek najwyższego poziomu, która grupuje zdarzenia według ramki.
Filter timeline details list Filtruje listę według wybranych kategorii i długości zdarzeń.
Customize timeline details information Umożliwia określenie adnotacji do zdarzeń.