Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit onderwerp wordt beschreven hoe u hulpprogramma's voor prestatiebewaking gebruikt vanuit de Windows Performance Toolkit om uitgebreide prestatieprofielen voor WinUI-toepassingen te produceren.
Hoe gebruik ik de Windows Performance Recorder om WinUI-apps te bewaken?
De Windows Performance Recorder (WPR) kan worden gebruikt om gedetailleerde ETW-opnamen (Event Tracing for Windows) te maken van systeem- en toepassingsgedrag en resourcegebruik op basis van ingebouwde profielen. Deze ETW-opnamen kunnen vervolgens worden verwerkt door de Windows Performance Analyzer (WPA) om een set grafieken en tabellen te produceren voor eenvoudiger gebruik en diepgaande analyse van CPU-gebruik, energieproblemen, slechte systeem- of toepassingsprestaties en andere prestatieproblemen.
Opmerking
Hoewel er zowel GUI- als opdrachtregelversies van de WPR zijn, verwijst dit onderwerp alleen naar de GUI-versie (zie Inleiding tot WPR voor meer informatie over beide versies).
WPR-profielen
WPR-profielen worden gebruikt om informatie te verzamelen over verschillende aspecten en gedrag van uw app.
In de volgende afbeelding wordt het venster Windows Performance Recorder weergegeven met het profiel CPU-gebruik (CPU-gebruik voor elke CPU op het systeem) en het profiel XAML-activiteit (gebeurtenissen van XAML-gerelateerde providers, zoals WinUI) geselecteerd.
Hoe gebruik ik de Windows Performance Analyzer met WinUI-apps?
WinUI is een declaratieve, bewaarde-modus-API waarin de app een structuur van UIElements beschrijft en WinUI indeling uitvoert en weergeeft. Dit wordt gedaan op de UI-thread in batches met de naam 'frames', die snel moeten worden voltooid, in het ideale geval binnen één vernieuwingsinterval van de weergave. Wanneer frames lang duren, worden niet alleen updates naar de weergave vertraagd, maar wordt ook voorkomen dat de UI-draad invoer verwerkt. Trage frames zijn niet de enige oorzaak van problemen met reactievermogen, maar wel een van de meest voorkomende.
De invoegtoepassing 'XAML Frame Analysis' installeren
WinUI registreert ETW-gebeurtenissen die het begin en einde van elk frame volgen (weergegeven in de volgende schermopname van de tabel WPA "Generic Events"). Omdat de duur van elk frame echter handmatig moet worden berekend, is het moeilijk om langzame frames te identificeren.
Om dit probleem op te lossen, wordt een nieuwe invoegtoepassing voor XAML Frame Analysis opgenomen in de Windows Assessment Toolkit (ADK) 10.1.26100.1 en hoger. In deze tabel wordt de duur van elk frame berekend en weergegeven (samen met andere tijdrovende bewerkingen).
Opmerking
De tabel XAML Frame Analysis vereist Windows Performance Analyzer (WPA) van Windows ADK 10.1.26100.1 of hoger. De versie van WPR die wordt gebruikt om de tracering te nemen, maakt niet uit.
Zodra de ADK is geïnstalleerd, moet de tabel 'XAML Frame Analysis' worden ingeschakeld door het configuratiebestand 'perfcore.ini' te bewerken in de WPA-map (meestal C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit). Hiervoor sluit u alle geopende exemplaren van WPA, opent u 'perfcore.ini' in een teksteditor, voegt u toe perf_xaml.dll aan de lijst met dll's en slaat u het bestand op en sluit u het. Start WPA opnieuw op, waarin nu de grafiek 'XAML Frame Analysis' onder aan de sectie Systeemactiviteit wordt weergegeven.
De invoegtoepassing 'XAML Frame Analysis' gebruiken
De Xaml-frameanalyse ondersteunt twee weergaven (beide weergaven tonen dezelfde kolommen):
- "Interessante Xaml-frames" (standaard): toont WinUI-frames op basis van heuristieken die waarschijnlijk reactieproblemen veroorzaken. Deze komen overeen met regio's die beginnen met bewerkingen zoals WinUI-initialisatie, framenavigatie of flyoutweergave, en stoppen met het einde van het volgende frame. Deze scenario's omvatten doorgaans uitgebreide wijzigingen in de UIElement-structuur en zijn de meest vatbaar voor prestatieproblemen.
- "Alle Xaml Info" - Toont alle WinUI-frames van alle processen die in de trace zijn gevonden. Voor bewerkingen zoals een frame of een indelingspas berekent de invoegtoepassing automatisch en wordt de duur weergegeven op basis van de gebeurtenissen starten en stoppen.
In de volgende schermopname ziet u hoe u kunt schakelen tussen Xaml Frame Analysis-weergaven.
Beide Xaml Frame Analysis-weergaven bevatten de volgende kolommen:
| Titel | Waarde |
|---|---|
| Verwerken | Procesnaam en -id |
| Thread-id | Thread-id |
| Typ | Beschrijft de gebeurtenis die overeenkomt met de rij. Mogelijke waarden zijn onder andere:
|
| IsInteressant | Of de rij als interessant wordt beschouwd. Alleen interessante rijen worden weergegeven in de weergave Interessante Xaml-frames. |
| Duur (ms) | De duur van de rij. Berekend vanaf start- en stopgebeurtenissen. |
| Gewicht (ms) | De werkelijke CPU-uitvoeringstijd die overeenkomt met de duur. |
| Starten (s) | De tijd van de startgebeurtenis |
| Stoppen (s) | De tijd van de Stop-gebeurtenis |
Kolommen kunnen worden gesorteerd op type of duur om potentiële problemen te identificeren, zoals de duurste, langste duurframes in de trace (zie de volgende afbeelding). U kunt ook inzoomen op specifieke rijen om de dure bewerkingen en mogelijke optimalisaties te identificeren.
Windows developer