Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a témakör a Windows Performance Toolkit teljesítményfigyelő eszközeinek használatát ismerteti a WinUI-alkalmazások részletes teljesítményprofiljainak létrehozásához.
Hogyan monitorozhatom a WinUI-alkalmazásokat a Windows teljesítményrögzítővel?
A Windows Teljesítményrögzítővel (WPR) részletes eseménykövetést hozhat létre a Windows (ETW) rendszer - és alkalmazásviselkedéséről, valamint az erőforrás-használatról a beépített profilok alapján. Ezeket az ETW-felvételeket ezután a Windows Performance Analyzer (WPA) feldolgozhatja, hogy grafikonokat és táblázatokat készítsen a processzorhasználat, az energiaproblémák, a gyenge rendszer- vagy alkalmazásteljesítmény és egyéb teljesítményproblémák egyszerűbb felhasználása és részletes elemzése érdekében.
Megjegyzés:
Bár a WPR grafikus felhasználói felülete és parancssori verziója is létezik, ez a témakör csak a grafikus felhasználói felület verziójára vonatkozik (a két verzióval kapcsolatos további részletekért lásd a WPR bemutatása című témakört).
WPR-profilok
A WPR-profilokkal információkat gyűjthet az alkalmazás különböző aspektusairól és viselkedéséről.
Az alábbi képen a Windows Teljesítményrögzítő ablak a "CPU-használat" profillal (a rendszer minden processzorának cpu-kihasználtsága) és az "XAML-tevékenység" profillal (XAML-hez kapcsolódó szolgáltatók eseményei, például WinUI) van kiválasztva.
Hogyan használhatom a Windows Teljesítményelemzőt WinUI-alkalmazásokkal?
A WinUI egy deklaratív, megtartott módú API, amelyben az alkalmazás leírja az UIElements egy fáját, és a WinUI az elrendezést futtatja és rendereli. Ez a felhasználói felületi szálon történik "keretek" nevű kötegekben, amelyeknek gyorsan be kell fejeződniük, ideális esetben a kijelző egy frissítési ciklusán belül. Ha a keretek hosszú ideig futnak, nem csak késlelteti a frissítések megjelenítését, hanem megakadályozza, hogy a felhasználói felület szála kezelje a bemenetet. A válaszképességi problémáknak az egyik leggyakoribb oka a lassú keretek, bár nem az egyetlen.
Telepítse az "XAML Frame Analysis" beépülő modult
A WinUI naplózza azokat az ETW-eseményeket, amelyek nyomon követik az egyes keretek kezdetét és leállítását (a WPA "Általános események" táblázatának alábbi képernyőképén látható). Mivel azonban az egyes keretek időtartamát manuálisan kell kiszámítani, nehéz azonosítani a lassú keret előfordulásait.
A probléma megoldásához a Windows Assessment Toolkit (ADK) 10.1.26100.1 és újabb verziók új XAML-keretelemzési táblázat beépülő modulja is elérhető. Ez a táblázat kiszámítja és megjeleníti az egyes keretek időtartamát (más időigényes műveletekkel együtt).
Megjegyzés:
Az XAML-keretelemzés táblához Windows Performance Analyzer (WPA) szükséges Windows ADK 10.1.26100.1 vagy újabb verziójából. A nyomkövetéshez használt WPR-verzió nem számít.
Az ADK telepítése után az "XAML-keretelemzés" táblát engedélyezni kell a WPA mappában található "perfcore.ini" konfigurációs fájl szerkesztésével (általában C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit). Ehhez zárja be a WPA bármely megnyitott példányát, nyissa meg a "perfcore.ini" fájlt egy szövegszerkesztőben, adja hozzá perf_xaml.dll a dll-ek listájához, és mentse és zárja be a fájlt. Indítsa újra a WPA-t, amelynek a "XAML-keretelemzés" gráfjának most meg kell jelennie a Rendszertevékenység szakasz alján.
Használja a "XAML keretelemzés" beépülő modult
A Xaml-keretelemzés két nézetet támogat (mindkét nézet ugyanazokat az oszlopokat jeleníti meg):
- "Érdekes Xaml-keretek" (alapértelmezett) – WinUI-kereteket jelenít meg heurisztika alapján, amelyek azonosítják azokat, amelyek valószínűleg válaszképességi problémákat okoznak. Ezek olyan régióknak felelnek meg, amelyek olyan műveletekkel kezdődnek, mint például a WinUI inicializálása, a keretnavigáció vagy a úszó panel megjelenítése, és a következő keret végére állnak le. Ezek a forgatókönyvek általában az UIElement fa jelentős módosításait foglalják magukban, és a leginkább érzékenyek a teljesítményproblémákra.
- "Minden Xaml-információ" – Megjeleníti az összes WinUI-keretet a nyomkövetésben található összes folyamatból. Az olyan műveleteknél, mint a keret vagy az elrendezési passz, a beépülő modul automatikusan kiszámítja és megjeleníti az időtartamokat a Start és a Stop események alapján.
Az alábbi képernyőkép bemutatja, hogyan válthat a Xaml-keretelemzési nézetek között.
Mindkét Xaml-keretelemzési nézet a következő oszlopokat tartalmazza:
| Cím | Érték |
|---|---|
| Folyamat | Folyamat neve és azonosítója |
| Szálazonosító | Szálazonosító |
| Típus | A sornak megfelelő eseményt ismerteti. A lehetséges értékek a következők:
|
| Érdekes | Hogy a sor érdekesnek tekinthető-e. Csak érdekes sorok jelennek meg az Érdekes Xaml-keretek nézetben. |
| Időtartam (ms) | A sor időtartama. Az indítási és leállítási eseményekből számítva. |
| Súly (ms) | Az időtartamnak megfelelő tényleges cpu-végrehajtási idő. |
| Kezdés (ek) | A kezdési esemény időpontja |
| Leállítás (ek) | A Stop esemény időpontja |
Az oszlopok típus vagy időtartam szerint rendezhetők, így könnyebben azonosíthatók az olyan lehetséges problémák, mint például a nyomkövetés legdrágább, leghosszabb időtartamú keretei (lásd a következő képet). A költséges műveletek és a lehetséges optimalizálások azonosításához részletezhet bizonyos sorokat is.
Windows developer