Sdílet prostřednictvím


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

Pomocí profileru časová osa aplikace můžete najít a opravit problémy s výkonem souvisejícími s interakcemi aplikací v aplikacích XAML. Tento nástroj pomáhá zlepšit výkon aplikace XAML zobrazením podrobného zobrazení spotřeby prostředků aplikací. Můžete analyzovat čas strávený vaší aplikací přípravou rámců uživatelského rozhraní (rozložení a vykreslování), obsluhou požadavků na síť a disk a ve scénářích, jako je spuštění aplikace, načtení stránky a změna velikosti Windows.

Č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 odezvy uživatelského rozhraní XAML, který byl součástí sady diagnostických nástrojů ve starších verzích sady Visual Studio.

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

  • Univerzální aplikace pro Windows (ve Windows 10 a novějších)
  • Windows 8.1
  • Windows Presentation Foundation (.NET 4.0 a novější)
  • Windows 7

Poznámka:

Data o využití procesoru a spotřebu 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

Rychlost odezvy aplikace můžete profilovat na místním počítači, připojeném zařízení, simulátoru nebo emulátorech sady Visual Studio nebo na 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 pozorovaný v simulátoru nebo prostřednictvím připojení ke vzdálené ploše nemusí být stejný jako skutečný výkon zařízení. Na druhou stranu shromažďování dat pomocí nástrojů 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 Debug / Performance Profiler. V okně .diagsession by se měl zobrazit seznam nástrojů pro profilaci.

  3. Vyberte časovou osu aplikace a potom klikněte na Spustit v dolní části okna.

    Application Timeline Tool Selected

    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. Klepněte na tlačítko Ano.

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

  5. Pokud chcete profilaci ukončit, 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.

    Timeline profiler report

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. Zobrazte informace v grafech využití vlákna uživatelského rozhraní a vizuální propustnosti (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 grafické propustnosti (FPS) prozkoumejte podrobnosti v zobrazení podrobností časové osy a vyhledejte možné příčiny zdánlivě nedostatečné 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

Performance and Diagnostics timeline

Pravítko v horní části stránky zobrazuje časovou osu profilovaných informací. Tato časová osa se vztahuje jak na graf využití vláken uživatelského rozhraní, tak na 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í

CPU Utilization Graph

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

Graf propustnosti vizuálu (FPS)

Visual throughput graph

Spojnicový graf propustnosti vizuálu (FPS) zobrazuje snímky za sekundu (FPS) v uživatelském rozhraní a vlákně složení aplikace.

Podrobnosti časové osy

Zobrazení podrobností je místo, kde trávíte většinu času analýzou sestavy. Zobrazuje využití procesoru vaší aplikací zařazenou do kategorií subsystémem UI Framework nebo systémovou komponentou, která procesor spotřebovala.

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

Název Popis
Analýza Čas strávený analýzou 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 kvůli kořenové události. Tento tip vám umožní identifikovat nepotřebné analýzy 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 můžou současně zobrazovat tisíce prvků. Výsledkem tohoto zobrazení může být nízká frekvence snímků uživatelského rozhraní a odpovídající špatná odezva aplikace. Událost Rozložení přesně určuje náklady na rozložení jednotlivých prvků (tj. čas strávený v Arrange, Measure, ApplyTemplate, ArrangeOverride a MeasureOverride). Vytvoří také stromy vizuálů, které se účastnily průchodu rozložení. Pomocí této vizualizace můžete určit, které logické stromy se mají vyřahat, nebo vyhodnotit jiné mechanismy odložení pro optimalizaci průchodu rozložení.
Vykreslení Č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 síťových prostředků, ke kterým se přistupuje prostřednictvím rozhraní API systému Microsoft Windows Internet (WinINet).
Kód aplikace Čas strávený spouštěním kódu aplikace (uživatele), který nesouvisí s analýzou nebo rozložením
Xaml Other Čas strávený spouštěním kódu modulu runtime XAML

Tip

Při zahájení profilace zvolte nástroj Využití procesoru spolu s nástrojem Časová osa aplikace a zobrazte metody aplikace, které se spouští ve vlákně uživatelského rozhraní. Přesunutí dlouhotrvající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ů Podrobností časové osy můžete řadit, filtrovat a určovat poznámky položek zobrazení podrobností časové osy.

Název Popis
Řadit podle Seřaďte podle času zahájení nebo délky událostí.
Group events by frame Přidá nebo odebere kategorii rámce nejvyšší úrovně, která seskupuje události podle rámce.
Filter timeline details list Filtruje seznam podle vybraných kategorií a délky událostí.
Customize timeline details information Umožňuje zadat poznámky k událostem.