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ą 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 jest jednym z narzędzi, które można rozpocząć od polecenia Debug>Profiler Wydajności.
To narzędzie zastępuje narzędzie odpowiedzi 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
Notatka
Dane użycia procesora CPU i zużycie energii można zbierać i analizować wraz z danymi ApplicationTimeline. Zobacz Uruchom narzędzia profilowania na kompilacjach wydania lub debugowania.
Zbierz dane o harmonogramie 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 w kompilacjach wydania lub debugowania.
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:
Otwórz aplikację XAML.
Kliknij Debugowanie/Profiler wydajności. W oknie ".diagsession" powinna zostać wyświetlona lista narzędzi profilowania.
Wybierz harmonogram aplikacji , a następnie kliknij przycisk Rozpocznij na dole okna.
Notatka
Może zostać wyświetlone okno Kontrola konta użytkownika proszące o pozwolenie na uruchomienie VsEtwCollector.exe. Kliknij opcję Tak.
Uruchom scenariusz, który chcesz profilować w swojej aplikacji, aby zebrać dane o wydajności.
Aby zatrzymać profilowanie, wróć do okna .diagsession i kliknij przycisk Zatrzymaj na górze okna.
Program Visual Studio analizuje zebrane dane i wyświetla wyniki.
Analizowanie danych profilowania czasowego
Po zebraniu danych profilowania możesz wykonać następujące kroki, aby rozpocząć analizę:
Wyświetl informacje w wykresach wykorzystania wątków interfejsu użytkownika i przepustowości wizualnej (FPS) , a następnie użyj suwaków nawigacyjnych osi czasu, aby wybrać zakres czasu do analizy.
Korzystając z informacji na wykresach wykorzystania wątków interfejsu użytkownika lub wizualnej przepustowości (FPS), przeanalizuj szczegóły w widoku osi czasu , aby znaleźć możliwe przyczyny ewentualnego braku responsywności.
Scenariusze, kategorie i zdarzenia raportu
Narzędzie Oś czasu aplikacji wyświetla dane chronometrażu dla scenariuszy, kategorii i zdarzeń związanych z wydajnością XAML.
Oś czasu sesji diagnostycznej
oś czasu wydajności i diagnostyki
Linia czasu u góry strony pokazuje oś czasową profilowanych informacji. Ta oś czasu ma zastosowanie zarówno do wykresu wykorzystania wątku interfejsu użytkownika, jak i wykresu wydajności wizualnej . Zakres raportu można zawęzić, przeciągając paski nawigacji na osi czasu, aby wybrać segment osi czasu.
Na osi czasu są również wyświetlane wszystkie wstawione przez ciebie znaczniki użytkownika oraz zdarzenia cyklu życia aktywizacji aplikacji.
Wykres wykorzystania wątków interfejsu użytkownika
Wykres użytkowanie wątków interfejsu użytkownika (%) jest wykresem słupkowym, który wyświetla względną ilość czasu spędzonego w kategorii w czasie trwania zbierania danych.
Wykres przepływności wizualnej (FPS)
wykres przepływności wizualnej
Wykres liniowy przepływności wizualnej (FPS) pokazuje klatki na sekundę (FPS) obsługiwane przez wątek interfejsu użytkownika i wątek kompozycji aplikacji.
Szczegóły osi czasu
Widok szczegółowy jest miejscem, gdzie spędzasz większość czasu 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 | Opis |
---|---|
Analizowanie | Czas spędzony na analizowaniu plików XAML i tworzeniu obiektów. Rozszerzenie węzła analizowania w szczegółach osi czasu wyświetla łańcuch 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 wyświetlacz może spowodować niską szybkość klatek UI, co odpowiada niskiej szybkości reakcji aplikacji. Zdarzenie Layoutu dokładnie określa koszt układania każdego elementu (czyli czasu spędzonego w rozmieszczeniu, pomiaru, ApplyTemplate, ArrangeOverride i MeasureOverride). Tworzy również drzewa wizualne, które brały udział w procesie 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. |
Render | 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 (WinINet). |
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
Wybierz narzędzie Użycie procesora CPU razem z narzędziem analiza czasu działania aplikacji , gdy rozpoczynasz profilowanie, aby zobaczyć 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 | Opis |
---|---|
Sortuj według | Sortuj według czasu rozpoczęcia lub długości zdarzeń. |
![]() |
Dodaje lub usuwa kategorię ramki najwyższego poziomu, która grupuje zdarzenia według ramki. |
lista szczegółów filtru osi czasu ![]() |
Filtruje listę według wybranych kategorii i długości zdarzeń. |
![]() |
Umożliwia określenie adnotacji do zdarzeń. |
Powiązana zawartość
- blog zespołu WPF: nowe narzędzie do analizy wydajności interfejsu użytkownika dla aplikacji WPF
- najlepsze rozwiązania dotyczące wydajności aplikacji platformy UWP przy użyciu języka C++, C# i visual Basic
- Optymalizowanie wydajności aplikacji WPF
- Profilowanie w programie Visual Studio
- Najpierw przyjrzyj się narzędziom profilowania