Analýza spotřeby prostředků a aktivity vlákna uživatelského rozhraní (XAML)

Pomocí Časová osa aplikace profileru vyhledejte a opravte problémy s výkonem související s interakcí aplikací v aplikacích XAML. Tento nástroj pomáhá zlepšit výkon aplikace XAML zobrazením podrobného přehledu o spotřebě prostředků aplikací. Můžete analyzovat čas strávený přípravou snímků uživatelského rozhraní (rozložení a vykreslení), údržbou síťových a diskových požadavků a ve scénářích, jako je spouštění aplikací, načítání stránek a změna Windows velikost.

Časová osa aplikace je jedním z nástrojů, které můžete spustit pomocí příkazu > Profiler výkonu ladění.

Tento nástroj nahrazuje nástroj rychlost odezvy uživatelského rozhraní XAML, který byl součástí sady diagnostických nástrojů pro Visual Studio 2013.

Tento nástroj můžete použít na následujících platformách:

  • Univerzální Windows aplikací (v Windows 10)
  • Windows 8.1
  • Windows Presentation Foundation (.Net 4.0 a vyšší)
  • Windows 7

Poznámka

Data o využití procesoru a spotřebě energie můžete shromažďovat a analyzovat společně s daty ApplicationTimeline. Viz Spuštění nástrojů pro profilaci s ladicím programem nebo bez něj.

Shromažďování dat časové osy aplikace

Můžete profilovat rychlost odezvy aplikace na místním počítači, připojeném zařízení, Visual Studio simulátoru, emulátorech nebo vzdáleném zařízení. Viz Spuštění nástrojů pro profilaci s ladicím programem nebo bez něj.

Tip

Pokud je to možné, spusťte aplikaci přímo na zařízení. Výkon aplikace zjištěný na simulátoru nebo prostřednictvím připojení ke vzdálené ploše nemusí být stejný jako skutečný výkon na zařízení. Na druhé straně shromažďování dat pomocí nástroje Visual Studio Remote Tools nemá vliv na data o výkonu.

Zde jsou základní kroky:

  1. Otevřete aplikaci XAML.

  2. Klikněte na Ladit / Profiler výkonu. V okně .diagsession by se měl zobrazit seznam nástrojů pro profilaci.

  3. Vyberte Časová osa aplikace a potom v dolní části okna klikněte na Spustit.

    Časová osa aplikace vybraného nástroje

    Poznámka

    Může se zobrazit okno Řízení uživatelských účtů s žádostí o vaše oprávnění ke spuštěníVsEtwCollector.exe. Klikněte na Ano.

  4. Spusťte scénář, který vás zajímá profilace ve vaší aplikaci, abyste shromažďovai údaje o výkonu.

  5. Pokud chcete profilaci zastavit, přepněte zpět do okna .diagsession a v horní části okna klikněte na Zastavit.

    Aplikace Visual Studio analyzuje shromážděná data a zobrazuje výsledky.

    Sestava profileru časové osy

Analýza dat profilace časové osy

Chcete-li spustit analýzu, řiďte se po shromáždění profilačních dat těmito kroky:

  1. Prohlédněte si informace v grafech Využití vlákna uživatelského rozhraní a Vizuální propustnost (FPS) a pak pomocí navigačních panelů časové osy vyberte časový rozsah, který chcete analyzovat.

  2. Pomocí informací v grafech využití vlákna uživatelského rozhraní nebo vizuální propustnosti (FPS) prozkoumejte podrobnosti v zobrazení podrobností časové osy a vyhledejte možné příčiny jakéhokoli zdánlivě nedostatku odezvy.

Scénáře sestav, kategorie a události

Nástroj Časová osa aplikace zobrazuje data časování pro scénáře, kategorie a události související s výkonem XAML.

Časová osa diagnostické relace

Časová osa výkonu a diagnostiky

Pravítko v horní části stránky zobrazuje časovou osu profilovaných informací. Tato časová osa platí pro graf využití vlákna uživatelského rozhraní i graf propustnosti vizuálu. Přetažením navigačních panelů na časové ose můžete vybrat určitou část časové osy a zúžit tak rozsah sestavy.

Časová osa také zobrazuje všechny uživatelské značky, které jste vložili, a události životního cyklu aktivace aplikace.

Graf využití vláken uživatelského rozhraní

Graf využití procesoru

Graf využití vlákna uživatelského rozhraní (%) je pruhový graf, který zobrazuje relativní dobu strávenou v kategorii během období kolekce.

Graf vizuální propustnosti (FPS)

Graf vizuální propustnosti

Čárový graf vizuální propustnosti (FPS) zobrazuje snímky za sekundu (FPS) v uživatelském rozhraní a vlákno složení pro aplikaci.

Podrobnosti časové osy

V zobrazení podrobností většinu času strávíte analýzou sestavy. Ukazuje využití procesoru vaší aplikací zařazené do kategorií podle subsystému architektury uživatelského rozhraní nebo systémové komponenty, která procesor spotřebovává.

Podporují se následující události:

Název Description
Analýzy Čas strávený parsováním souborů XAML a vytvářením objektů.

Rozbalením uzlu parsování v podrobnostech časové osy se zobrazí řetěz závislostí všech souborů XAML, které byly analyzovány z důvodu kořenové události. Tento tip umožňuje identifikovat nepotřebnou analýzu souborů a vytváření objektů ve scénářích citlivých na výkon a optimalizovat je.
Rozložení Ve velkých aplikacích se na obrazovce mohou současně zobrazovat tisíce prvků. Toto zobrazení může mít za následek nízkou snímkovou frekvenci uživatelského rozhraní a odpovídající nízkou odezvu aplikace. Událost Layout přesně určuje náklady na rozložení jednotlivých prvků (tzn. čas strávený v nástroji Arrange, Measure, ApplyTemplate, ArrangeOverride a MeasureOverride). Sestaví také stromy vizuálů, které se zúčastnit průchodu rozložení. Tuto vizualizaci můžete použít k určení logických stromů, které se mají vyřazení, nebo k vyhodnocení dalších mechanismů odložení za účelem optimalizace průchodu rozložení.
Vykreslování Čas strávený kreslením prvků XAML na obrazovku
I/0 Čas strávený načítáním dat z místního disku nebo ze síťových prostředků, ke kterým se přistupuje prostřednictvím rozhraní API služby Microsoft Windows Internet (WinINet).
Kód aplikace Čas strávený spouštěním kódu aplikace (uživatele), který se netýkající analýzy nebo rozložení.
Xaml – jiné Čas strávený spouštěním kódu modulu runtime XAML.

Tip

Pokud chcete zobrazit metody aplikace, které se spouští ve vlákně uživatelského rozhraní, zvolte při spuštění profilace nástroj Využití procesoru spolu s nástrojem Časová osa aplikace. Přesunutí dlouhotrcího kódu aplikace do vlákna na pozadí může zlepšit odezvu uživatelského rozhraní.

Přizpůsobení podrobností časové osy

Pomocí panelu nástrojů Podrobnosti časové osy můžete seřadit, filtrovat a zadat poznámky položek zobrazení podrobností časové osy.

Název Description
Seřadit podle Řazení podle času spuštění nebo délky událostí
Seskupení událostí podle rámce Přidá nebo odebere kategorii rámce nejvyšší úrovně, která seskupuje události podle rámce.
Seznam podrobností časové osy filtru Filtruje seznam podle vybraných kategorií a délky událostí.
Přizpůsobení informací o časové ose Umožňuje zadat poznámky k událostem.

Viz také