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:
Otevřete aplikaci XAML.
Klikněte na Debug / Performance Profiler. V okně .diagsession by se měl zobrazit seznam nástrojů pro profilaci.
Vyberte časovou osu aplikace a potom klikněte na Spustit v dolní části okna.
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.
Spusťte scénář, který vás zajímá profilace v aplikaci, abyste mohli shromažďovat údaje o výkonu.
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.
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:
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.
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
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í
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)
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í. |
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. |