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:
Otwórz aplikację XAML.
Kliknij pozycję Debuguj/Profiler wydajności. W oknie diagsession powinna zostać wyświetlona lista narzędzi profilowania.
Wybierz pozycję Oś czasu aplikacji, a następnie kliknij przycisk Start w dolnej części okna.
Uwaga
Może zostać wyświetlone okno Kontrola konta użytkownika z żądaniem uprawnień do uruchomienia pliku VsEtwCollector.exe. Kliknij przycisk Tak.
Uruchom scenariusz, który cię interesuje profilowanie w aplikacji, aby zebrać dane wydajności.
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.
Analizowanie danych profilowania osi czasu
Po zebraniu danych profilowania można wykonać poniższe kroki, aby rozpocząć analizę:
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ć.
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
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
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)
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ń. |
Dodaje lub usuwa kategorię ramek najwyższego poziomu, która grupuje zdarzenia według ramki. | |
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ęzyków C++, C# i Visual Basic
- Optymalizowanie wydajności aplikacji WPF
- Profilowanie w programie Visual Studio
- Pierwsze spojrzenie na narzędzia profilowania