Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Toto téma popisuje, jak pomocí nástrojů pro monitorování výkonu z Windows Performance Toolkit vytvářet podrobné profily výkonu pro aplikace WinUI.
Jak můžu pomocí nástroje Windows Performance Recorder monitorovat aplikace WinUI?
Pomocí nástroje Windows Performance Recorder (WPR) můžete vytvořit podrobné Event Tracing for Windows (ETW) zaznamenávání chování systému a aplikací a využití prostředků na základě předdefinovaných profilů. Tyto záznamy ETW mohou být pak zpracovány nástrojem Windows Performance Analyzer (WPA), který vytvoří sadu grafů a tabulek pro snadnější pochopení a podrobnou analýzu využití procesoru, problémů s napájením, nízkého výkonu systému nebo aplikací a dalších výkonových problémů.
Poznámka:
I když existují verze grafického uživatelského rozhraní i příkazového řádku WPR, toto téma se týká pouze verze grafického uživatelského rozhraní (další podrobnosti o obou verzích najdete v úvodu do WPR ).
Profily WPR
Profily WPR slouží ke shromažďování informací o různých aspektech a chování aplikace.
Na následujícím obrázku se zobrazí okno záznamu výkonu systému Windows s profilem Využití procesoru (využití procesoru pro každý procesor v systému) a profilem aktivity XAML (události od poskytovatelů souvisejících s XAML, například WinUI).
Jak se používá Analyzátor výkonu Windows s aplikacemi WinUI?
WinUI je deklarativní API s uchováním režimu, kde aplikace popisuje strom UIElements a WinUI spouští rozložení a vykresluje ho. To se provádí ve vlákně uživatelského rozhraní v dávkách s názvem "rámce", které by se měly rychle dokončit v ideálním případě v jednom intervalu aktualizace displeje. Pokud snímky trvají dlouho, nejenže to zpožďuje aktualizace v zobrazování na displeji, ale také to zabraňuje vláknu uživatelského rozhraní ve zpracování vstupu. Pomalé snímky nejsou jediným důvodem problémů s odezvou, ale patří k těm nejčastějším.
Instalace modulu plug-in XAML Frame Analysis
WinUI protokoluje ETW události, které sledují začátek a konec každého snímku (viz následující snímek obrazovky tabulky WPA "Obecné události"). Vzhledem k tomu, že doba trvání každého snímku je potřeba vypočítat ručně, je obtížné identifikovat výskyty pomalých snímků.
Aby se tento problém vyřešil, je k dispozici nový plugin pro analýzu tabulek XAML Frame v rámci Windows Assessment Toolkit (ADK) verze 10.1.26100.1 a novějších. Tato tabulka vypočítá a zobrazuje dobu trvání každého snímku spolu s dalšími časově náročnými operacemi.
Poznámka:
Tabulka "Analýza rámce XAML" vyžaduje Windows Performance Analyzer (WPA) z Windows ADK 10.1.26100.1 nebo novější. Verze WPR použitá k pořízení trasování není důležitá.
Po instalaci sady ADK musí být tabulka XAML Frame Analysis povolena úpravou konfiguračního souboru "perfcore.ini" ve složce WPA (obvykle C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit). Chcete-li to provést, zavřete všechny otevřené instance WPA, otevřete "perfcore.ini" v textovém editoru, přidejte perf_xaml.dll do seznamu knihoven DLL a uložte a zavřete soubor. Restartujte WPA, který by teď měl zobrazit graf "Analýza rámce XAML" v dolní části části Aktivita systému.
Použijte plug-in "XAML Frame Analysis"
Analýza rámce Xaml podporuje dvě zobrazení (obě zobrazení zobrazují stejné sloupce):
- "Zajímavé rámce Xaml" (výchozí) – zobrazuje rámce WinUI na základě heuristiky, které identifikují ty, které s největší pravděpodobností způsobují problémy s odezvou. Tyto oblasti odpovídají oblastem, které začínají operacemi, jako je inicializace WinUI, navigace rámce nebo kontextové zobrazení, a zastavují se koncem dalšího rámce. Tyto scénáře obvykle zahrnují rozsáhlé změny stromu UIElement a jsou nejvíce náchylné k problémům s výkonem.
- Všechny informace XAML – Zobrazí všechny rámce WinUI ze všech procesů nalezených v trasování. V případě operací, jako je rámec nebo průchod rozložení, modul plug-in automaticky vypočítá a zobrazí doby trvání na základě událostí Start a Stop.
Následující snímek obrazovky ukazuje, jak přepínat mezi zobrazeními analýzy snímků XAML.
Obě zobrazení analýzy rámce Xaml zahrnují následující sloupce:
| Titul | Hodnota |
|---|---|
| Proces | Název a ID procesu |
| ID vlákna | ID vlákna |
| Typ | Popisuje událost odpovídající řádku. Mezi možné hodnoty patří:
|
| JeZajímavé | Zda je řádek považován za zajímavý. V zobrazení Zajímavých rámců Xaml se zobrazují jenom zajímavé řádky. |
| Doba trvání (ms) | Délka řádku. Vypočítá se z událostí Start a Stop. |
| Hmotnost (ms) | Skutečná doba vykonávání procesorem odpovídající době trvání. |
| Začátek (s) | Čas události Start |
| Zastavení (s) | Čas události Stop |
Sloupce můžou být seřazené podle typu nebo doby trvání, aby bylo možné identifikovat potenciální problémy, jako jsou ty nejdražší, nejdelší rámce doby trvání v trasování (viz následující obrázek). Můžete také přejít k podrobnostem o konkrétních řádcích a identifikovat nákladné operace a potenciální optimalizace.
Windows developer