A Windows-alkalmazás válaszkészségének javítása

Ez az útmutató segít a Windows-alkalmazás válaszkészségének javításában az indítási késés és a kulcsfontosságú interakciók késleltetésének optimalizálásával. A gyors, rugalmas interakciók (más néven kis késésű interakciók) jobb felhasználói élményt biztosítanak. Az interakciós elvárások megértése, az aktuális időtartamok mérése és a fejlesztési célok meghatározása az interakciós osztálytól függően jelentős javulást eredményezhet a felhasználói élményben és elégedettségben.

Részletes útmutató az interakciók rugalmas viselkedéshez való optimalizálásához

Az ügyfelek érezhetik, hogy az alkalmazás indítása, a menünavigáció vagy a lap/tartalom betöltése lassú. Gyors, zökkenőmentes felhasználói élményre számítanak, és megosztottunk néhány lépést és útmutatást, hogy jobban megértsük az alábbi elvárásokat.

A késés optimalizálásának alapvető lépései a következők:

  1. Definiálja a forgatókönyvet, és adjon hozzá TraceLogging-eseményeket.

    Készítsen listát azokról a kulcsfontosságú interakciókról, amelyeken a felhasználó végighalad az alkalmazás használata során, például az indítás, a menü megnyitása, az új lapra való navigálás és a tartalom megjelenítése stb. Mindegyik interakcióhoz adjon hozzá egy indítási és leállítási eseményt a méréshez és elemzéshez. További információ a TraceLogging hozzáadásáról, amely a Windowshoz készült eseménykövetés (ETW) önleíró formátuma.

  2. A célokat az interakciós osztály alapján állíthatja be.

    A felhasználók az interakció típusától függően eltérő elvárásokat támasztanak az alkalmazások teljesítményével és válaszképességével kapcsolatban. Például, hogy milyen gyorsan indul el egy alkalmazás, és milyen gyorsan töltődik be egy oldal. Gondoljon arra az elfogadható időtartamra, amely alatt a felhasználók elvégezhetik az alkalmazásban a legfontosabb interakciókat. Ez 200 ezredmásodperctől (ms) 5 másodpercig terjedhet. Ezután minden tevékenységhez rendeljen egy interakciós osztálycímkét egy társított célhoz. Az alábbiakban néhány alapvető útmutatást, valamint javaslatokat talál arra vonatkozóan, hogy hogyan lehet felhasználói felülettel (UI) javítani a válaszképesség észlelését:

Interakciós osztály címkéje Felhasználói észlelés Késleltetési tartomány Examples Javasolt felhasználói felület
Gyors Minimálisan észrevehető késleltetés 100–200 ezredmásodperc Alkalmazássáv megnyitása, kattintson a jobb gombbal a menüre
Interaktív Gyors, de nem gyors 300 - 500 ms Kilépés egy alkalmazásból, gyorsítótárazott keresési eredmények megjelenítése
Szünet Nem gyors, de rugalmasnak érzi magát 500 ms - 1 s Navigáljon egy másik lapra, folytassa az alkalmazást felfüggesztett állapotból, megjelenítse a webes keresési eredményeket A beléptetési animáció (pl. fly in new content) segítségével elfedheti az ehhez a forgatókönyvhöz szükséges időt.
Wait Nem gyors a forgatókönyvhöz szükséges munka mennyisége miatt 1–3 másodperc Az alkalmazás elindítása A folyamat előrehaladásának megjegyzéséhez forgó/várakozó kurzor használható. A kilépési és a bejárati animáció (például a régi oldal kirepülése, az új oldal berepülése) is használható az ehhez a forgatókönyvhöz szükséges idő maszkolásához.
Hosszú várakozás Már nem érzi magát rugalmasnak 2-5 másodperc Nagy méretű alkalmazás indul el (bővített kezdőképernyő használata), hd videostream indítása Megjelenik egy "betöltési felhasználói felület" – ahol lehetséges, adjon meg egy "mégse" lehetőséget a felhasználó számára. A betöltési felhasználói felületnek a Gyors interakció osztályban kell megjelennie. A betöltési felhasználói felületnek nem kell százalékos értéket vagy időt megjelenítenie.
Kötött Hosszú várakozás – elkerülhetetlenül hosszú/összetett forgatókönyvekhez fenntartva 5–10 másodperc Rendszer bejelentkezése Megjelenik egy "betöltési felület" vagy párbeszédpanel – ahol lehetséges, a felhasználó számára biztosítani kell a "mégse" lehetőséget. A párbeszédpanelnek a Gyors interakció osztályban kell megjelennie. A párbeszédpanelen meg kell jelennie a fennmaradó idő százalékos értékének vagy időtartamának, ha ez hasznos kontextust biztosít a felhasználó számára.
Hosszan futó Hosszú műveletek – a felhasználók valószínűleg több feladatot fognak végezni egyszerre (átváltanak másra a művelet közben) 10–30+ másodperc Új funkciók vagy frissítések telepítése, nagy fájlletöltések A felhasználói felületet úgy kell megtervezni, hogy tükrözze a többfeladatos munkavégzés lehetőségét. Megjelenik egy folyamatjelző párbeszédpanel, amely tartalmazza a befejezés becslését (százalék, hátralévő idő stb.). Másik lehetőségként a felhasználói felület teljes mértékben minimalizálható, és csak akkor értesíti a felhasználót egy lebegő értesítés használatával, ha a folyamat befejeződött.
  1. A konkrét interakciók pontos időtartamának ellenőrzéséhez rögzíthet és elemezhet nyomkövetést a Windows Performance Analyzer (WPA) használatával.

    • A nyomkövetés rögzítése előtt nyissa meg a Feladatkezelőt, és gondoskodjon arról, hogy a cpu-kihasználtság 5-nél kevesebb%legyen. Ezzel minimalizálja a mérési interferenciát, és ésszerű méretkövetést biztosít. Ez segít jobban elkülöníteni a mérni kívánt interakciót.

    • Nyomkövetés rögzítéséhez nyisson meg egy parancssort (PowerShell vagy parancssor) rendszergazdai módban.

    • Adja meg a parancsot: wpr -start GeneralProfile -filemode

    • Futtassa le az interakciós forgatókönyvet az alkalmazásában.

    • Adja meg a parancsot: wpr -stop Trace.etl

  2. Elemezze a nyomkövetést, és keresse meg a fejlesztési lehetőségeket.

    Elemezze az alkalmazás által támogatott kulcs-interakciók időtartamát a Windows Teljesítményelemzőben (WPA) most rögzített nyomkövetés megnyitásával.

    • A nyomkövetés WPA-ban való megnyitásához írja be a következőt a parancssorba: wpa.exe Trace.etl
    • Bontsa ki a Rendszertevékenység legördülő menüt, és kattintson duplán az "Általános események" elemre az elemzési nézet megnyitásához.
    • Válassza ki az alkalmazáshoz kapcsolódó eseménysorozatot, és bontsa ki a "Szolgáltató neve" legördülő menüt, amíg meg nem találja a keresett kulcs-interakcióhoz társított folyamatot, feladatnevet és eseménynevet. Az interakciós esemény időtartama az Idő oszlopban és a grafikonon is megjelenik, amelyen az Időtartam, a Kezdési idő és a Befejezési idő látható.

    Ha a nyomkövetés időtartama nem felel meg az interakciós osztály céljainak (például: 500 ms), azonosítsa az alkalmazás fő szálait (valószínűleg a felhasználói felületi szálat), és tekintse meg a cpu-használat és várakozás felső vermeit. *Ne feledje, hogy az elemzés során előfordulhat, hogy egyes problémák nem a saját alkalmazás kódjára vonatkoznak.

    Nyomkövetési esemény időtartamának elemzése

További erőforrások