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 odezvu aplikace pro Windows optimalizací latence při spuštění a klíčových interakcích. 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. Uživatelé si zvykli na rychlý, bezproblémový zážitek a poskytli jsme několik kroků a pokynů, abychom lépe porozuměli těmto očekáváním, které níže uvádíme.
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, formát pro samopopisují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 třídy interakce | Vnímání uživatele | Rozsah zpoždění | Příklady | Navrhované uživatelské rozhraní |
|---|---|---|---|---|
| Rychlé | Minimální znatelné zpoždění | 100 - 200 milisekund | Otevřete panel aplikací, klikněte pravým tlačítkem na nabídku. | |
| 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 cítí se responzivní | 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í animace (např. nově přilétající obsah) může být použita k maskování času potřebného pro tento scénář. |
| Wait | 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 může použít jak výstupní, tak vstupní animace (např. vyletět starou stránku, přilétnout novou stránku). |
| 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čítací rozhraní" – pokud je to možné, zahrňte uživateli možnost zrušení. 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. |
| Vězeň | Dlouhé čekání – vyhrazeno pro nevyhnutelně dlouhé nebo komplexní scénáře | 5 až 10 sekund | Přihlášení k systému | Zobrazí se načítací rozhraní nebo dialogové okno – pokud je to možné, uveďte možnost zrušení 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é budou pravděpodobně dělat více úkolů současně (přepne se z operace během jejího provádění). | 10 - 30+ sek | 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.). Alternativně lze uživatelské rozhraní zcela minimalizovat a upozornit uživatele na dokončení scénáře pouze přes oznámení typu toast. |
Pokud chcete 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 pořízením záznamu uvedete testovací zařízení do nečinnosti tak, že otevřete Správce úloh a ujistíte se, že využití procesoru je menší než 5%. Tím minimalizujete rušení měření a zajistíte přiměřené stopy velikosti. Pomůže vám to lépe izolovat interakci, kterou chcete měřit.
Pokud chcete zachytit trasování, 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 Aktivity systému a poklikáním na Obecné události otevřete zobrazení analýzy.
- Zvolte řady událostí související s vaší aplikací a rozbalte rozevírací seznam "Název zprostředkovatele," dokud nenaleznete název procesu, název úkolu a název události spojené s vaší hledanou klíčovou interakcí. 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í z trasová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 nejvyšší úrovně zásobníku ohledně využití procesoru a doby č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