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:
Otevřete aplikaci XAML.
Klikněte na Ladit / Profiler výkonu. V okně .diagsession by se měl zobrazit seznam nástrojů pro profilaci.
Vyberte Časová osa aplikace a potom v dolní části okna klikněte na Spustit.

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.
Spusťte scénář, který vás zajímá profilace ve vaší aplikaci, abyste shromažďovai údaje o výkonu.
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.

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:
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.
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

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í 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)

Čá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í |
![]() |
Přidá nebo odebere kategorii rámce nejvyšší úrovně, která seskupuje události podle rámce. |
![]() |
Filtruje seznam podle vybraných kategorií a délky událostí. |
![]() |
Umožňuje zadat poznámky k událostem. |


