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.
Tato příručka vám pomůže zlepšit rychlost odezvy vaší aplikace pro Windows tím, že optimalizuje latenci při spuštění a u důležitých interakcí. Rychlé a responzivní interakce (jinak označované jako interakce s nízkou latencí) vytvářejí lepší uživatelské prostředí. Pochopení očekávání interakce, měření aktuální doby trvání a nastavení cílů pro zlepšení v závislosti na třídě interakce může vést k významným vylepšením uživatelského prostředí a spokojenosti.
Podrobný průvodce optimalizací interakcí pro responzivní chování
Zákazníci se mohou cítit, když je pomalé spuštění aplikace, navigace v nabídce nebo načtení stránky nebo obsahu. Došli k očekávání rychlého a bezproblémového zážitku, a proto jsme sdíleli několik kroků a pokynů, abychom lépe pochopili tato očekávání.
Základní kroky pro optimalizaci latence jsou:
Definujte scénář a přidejte události TraceLogging.
Vytvořte seznam klíčových interakcí, které bude uživatel procházet při používání aplikace, jako je spuštění, otevření nabídky, přechod na novou stránku a vykreslování obsahu atd. Pro každou z těchto interakcí přidejte počáteční událost a zastavte událost, která se použije k měření a analýze. Přečtěte si další informace o tom, jak přidat TraceLogging, což je formát pro samo-popisující Trasování událostí pro Windows (ETW).
Nastavte cíle na základě třídy interakce.
Uživatelé mají různá očekávání týkající se výkonu a odezvy aplikace v závislosti na typu interakce. Například jak rychle se aplikace spustí a jak rychle se stránka načte. Představte si přijatelný rozsah uplynulého času, který uživatelům trvá dokončení klíčových interakcí ve vaší aplikaci. To může být v rozsahu od 200 milisekund (ms) do 5 sekund (s). Potom každému úkolu přiřaďte popisek třídy interakce s přidruženým cílem. Níže najdete několik základních pokynů a návrhy, jak můžete zahrnout uživatelské rozhraní, abyste zlepšili vnímání odezvy:
| Popisek interakční třídy | Vnímání uživatelů | Rozsah zpoždění | Příklady | Navrhované uživatelské rozhraní |
|---|---|---|---|---|
| Rychlé | Minimální znatelné zpoždění | 100 - 200 milisekund | Otevřete panel aplikací a otevřete nabídku pravého tlačítka. | |
| Interaktivní | Rychlé, ale ne rychlé | 300 - 500 ms | Ukončení aplikace, zobrazení výsledků hledání uložených v mezipaměti | |
| Pauza | Není rychlé, ale působí svižně | 500 ms - 1 s | Přejděte na jinou stránku, obnovte aplikaci z pozastaveného stavu a zobrazte výsledky hledání na webu. | Úvodní animaci (např. přilétnout do nového obsahu) se dá použít k maskování času potřebného pro tento scénář. |
| Počkej | Není rychlé kvůli množství práce pro scénář | 1 – 3 sekundy | Spuštění aplikace | K zaznamenávání průběhu se může použít rotující nebo čekající kurzor. K maskování času potřebného pro tento scénář se mohou použít jak odchozí, tak vstupní animace (např. odlet staré stránky, přilet nové stránky). |
| Dlouhé čekání | Už se necítí responzivní | 2 – 5 sekund | Spustí se velká aplikace (použití rozšířené úvodní obrazovky), spuštění streamu videa HD | Zobrazí se "načítá uživatelské rozhraní" – pokud je to možné, zahrňte uživateli možnost zrušit. Uživatelské rozhraní pro načítání by se mělo zobrazit v rámci třídy Rychlé interakce. Uživatelské rozhraní načítání nemusí zobrazovat procento ani zbývající čas. |
| Zajatec | Dlouhé čekání – vyhrazeno pro nevyhnutelně dlouhé/složité scénáře | 5 až 10 sekund | Přihlášení k systému | Zobrazí se dialogové okno nebo načítací rozhraní – pokud je to možné, zahrňte možnost „zrušit“ pro uživatele. Dialogové okno by se mělo zobrazit ve třídě Rychlé interakce. Dialogové okno by mělo zobrazit procento nebo zbývající čas, pokud by to uživateli poskytlo užitečný kontext. |
| Dlouhotrvající | Dlouhé operace – uživatelé pravděpodobně budou dělat více věcí najednou (přepnou na jiný úkol během operace). | 10 - 30+ sekund | Instalace nových funkcí nebo aktualizací, stahování velkých souborů | Uživatelské rozhraní by mělo být navržené tak, aby odráželo možnost multitaskingu. Mělo by se zobrazit dialogové okno průběhu včetně odhadu dokončení (procento, zbývající čas atd.). Případně může uživatelské rozhraní úplně minimalizovat a upozornit uživatele pouze na dokončení scénáře pomocí informačního oznámení. |
Chcete-li zkontrolovat přesné doby trvání konkrétních interakcí, můžete zachytit a analyzovat trasování pomocí Analyzátoru výkonu systému Windows (WPA).
Před spuštěním záznamu uvedete testovací zařízení do režimu nečinnosti tím, že otevřete Správce úloh a zajistíte, aby využití procesoru bylo menší než 5%. Tím minimalizujete rušení měření a poskytnete rozumné velikostní stopy. Pomůže vám to lépe izolovat interakci, kterou chcete měřit.
Pokud chcete zaznamenat záznam, otevřete příkazový řádek (PowerShell nebo Příkazový řádek) v režimu správce.
Zadejte příkaz:
wpr -start GeneralProfile -filemodeSpusťte scénář interakce ve vaší aplikaci.
Zadejte příkaz:
wpr -stop Trace.etl
Analyzujte trasování a najděte příležitosti ke zlepšení.
Analyzujte dobu trvání jednotlivých klíčových interakcí podporovaných vaší aplikací tak, že otevřete trasování, které jste právě zachytili v analyzátoru výkonu Windows (WPA).
- Pokud chcete trasování otevřít v WPA, zadejte do příkazového řádku:
wpa.exe Trace.etl - Rozbalte rozevírací seznam Systémová Aktivita a dvojitým kliknutím na "Generic Events" otevřete zobrazení analýzy.
- Zvolte řadu událostí související s vaší aplikací a rozbalte rozevírací seznam Název zprostředkovatele, dokud nenajdete proces, úkol a událost spojené s klíčovou interakcí, kterou hledáte. Doba trvání události interakce bude uvedena ve sloupci Čas a také v grafu zobrazující dobu trvání, čas zahájení a koncový čas.
Pokud doba trvání ze sledování nesplňuje cíle třídy interakce (např. 500 ms), identifikujte klíčová vlákna vaší aplikace (pravděpodobně vlákno uživatelského rozhraní) a podívejte se na nejčastější zásobníky využití CPU a čekání. *Mějte na paměti, že při provádění analýzy nemusí být některé problémy specifické pro kód vaší vlastní aplikace.
- Pokud chcete trasování otevřít v WPA, zadejte do příkazového řádku:
Dodatečné zdroje
Windows developer