WPF Performance Suite

Das Windows SDK enthält eine als WPF Performance Suite bezeichnete Suite von Tools zur Leistungsprofilerstellung für Windows Presentation Foundation-Anwendungen (WPF). Mithilfe der WPF Performance Suite können Sie das Laufzeitverhalten der WPF-Anwendungen analysieren und mögliche Leistungsoptimierungen ermitteln. Die WPF Performance Suite enthält die Leistungsprofilerstellungstools Perforator und Visual Profiler. In diesem Thema wird beschrieben, wie die Tools Perforator und Visual Profiler in der WPF Performance Suite installiert und verwendet werden.

Dieses Thema enthält folgende Abschnitte:

  • Installieren der WPF Performance Suite

  • Starten der WPF Performance Suite

  • Perforator

  • Visual Profiler

Installieren der WPF Performance Suite

In den folgenden Schritten wird die Installation der WPF Performance Suite beschrieben.

  1. Falls eine frühere Version des Windows Performance Toolkit installiert ist, müssen Sie sie deinstallieren.

  2. Installieren Sie das Windows SDK.

    In den Installationsoptionen, stellen Sie sicher, dass sie die Windows Performance Toolkit Option unter Allgemeine Hilfsprogramme wählen. Informationen zum Herunterladen finden Sie unter der Windows SDK-Downloadseite.

  3. Nachdem das Windows SDK installiert ist, klicken Sie im Menü Start auf Alle Programme, Microsoft Windows SDK V7 und dann auf Tools.

  4. Klicken Sie unter Tools auf Installieren von Windows Performance Tool Kit.

    Der Setup-Assistent wird angezeigt.

  5. Folgen Sie zum Installieren des Windows Performance Toolkit den angezeigten Anweisungen.

    Standardmäßig werden die folgenden Funktionen installiert.

    • Performance Analyzer

    • Windows Performance Toolkit-Hilfe

    • GPUView

    • WPF Performance Suite

Starten der WPF Performance Suite

Die WPF Performance Suite sollte gestartet werden, bevor Sie die Anwendung ausführen, für die Sie ein Profil erstellen möchten. Zur Verwendung der WPF Performance Suite muss Ihr Benutzerkonto über Administratorrechte verfügen.

In den folgenden Schritten wird das Starten der WPF Performance Suite beschrieben.

  1. Klicken Sie im Start Menü auf Alle Programme und dann auf Microsoft Windows Performance Toolkit.

  2. Klicken Sie auf WPF Performance Suite.

  3. Wenn ein Dialogfeld „Benutzerkontensteuerung“ angezeigt wird, klicken Sie auf Ja.

    Die WPF Performance Suite wird gestartet.

Beim ersten Starten der WPF Performance Suite wird das Dialogfeld Add Tools angezeigt. Durch das Dialogfeld „Add Tools“ können Sie die Profilerstellungstools hinzufügen. Um ein Tool hinzuzufügen, wählen Sie eine Assembly, die ein Tool enthält und klicken Sie dann auf Scan Assembly. Sie können das Dialogfeld „Tool hinzufügen“ jederzeit öffnen, indem Sie Add Tool aus dem Datei Menü anklicken. Die folgende Abbildung zeigt das Dialogfeld „Add Tools“.

Dialogfeld „Add Tools“

Dialogfeld "Tools hinzufügen"

Standardmäßig enthält die WPF Performance Suite die folgenden Tools zur Leistungsprofilerstellung.

Tool

Beschreibung

Perforator

Dient zum Analysieren des Renderingverhaltens.

Visual Profiler

Dient zum Erstellen eines Profils der Verwendung von WPF-Diensten, z. B. Layout und Ereignisbehandlung durch Elemente in der visuellen Struktur.

Stellen Sie sicher, dass die Perforator und Visual Profiler Kontrollkästchen ausgewählt sind und klicken Sie dann auf OK.

Perforator

Perforator ist ein Leistungsprofilerstellungstool zum Analysieren des Renderingverhalten der WPF-Anwendung. In der Perforator-Benutzeroberfläche wird ein Satz von Diagrammen angezeigt, mit denen Sie sehr spezifisches Renderingverhalten in Teilen der Anwendung analysieren können, z. B. die Hinzufügerate geänderter Rechtecke und die Framerate. WPF verwendet eine als „Dirty Rectangle“ (geändertes Rechteck) bezeichnete Renderingtechnik. Dies bedeutet, dass in einem neuen Renderingdurchlauf nur die geänderten Teile des Bildschirms gerendert werden. Außerdem bietet Perforator mehrere Optionen, mit denen Sie nach bestimmten Renderingproblemen suchen können. Perforator zeigt auch die Softwarerenderingziele an und enthält einen Schieberegler zum Einstellen der Dauer der Diagramme. Die folgende Abbildung zeigt die Benutzeroberfläche von Perforator.

Perforator-Benutzeroberfläche

Dialogfeld Add Tool

Aa969767.collapse_all(de-de,VS.110).gifVerwenden von Perforator

Starten Sie zum Verwenden von Perforator die WPF-Anwendung, die Sie analysieren möchten. Klicken Sie nach dem Start der Anwendung auf die Registerkarte Perforator und klicken Sie dann im Menü Actions auf Select Process. Wählen Sie im Dialogfeld „Select Process“ den Anwendungsprozess aus, den Sie analysieren möchten, und klicken Sie dann auf Select. Der Prozessname und die Prozess-ID sollte jetzt am oberen Rand der Perforator Registerkarte angezeigt werden. Wählen Sie Renderingoptionen aus, die Sie analysieren möchten. Die Perforator-Datenwerte, z. B. die Framerate, geben direkt Aufschluss über das Renderingverhalten der Anwendung. Die folgende Abbildung zeigt ein Beispiel.

Perforator mit ausgewählter Anwendung und ausgewählten Renderingoptionen

Perforator-Hauptfenster mit ausgewählten Optionen

Aa969767.collapse_all(de-de,VS.110).gifPerforator-Diagramme

Für ein effizientes Rendering der WPF-Anwendung müssen die Werte für die Framerate, die Hinzufügerate für geänderte Rechtecke und die Anzahl von Zwischenrenderingzielen niedrig bleiben. Perforator bietet viele nützliche Diagramme zum Überwachen dieser Werte.

In der folgende Tabelle werden die von jedem Diagramm gemeldeten Metriken beschrieben.

Verlaufsdiagramm

Beschreibung

Notizen

Frame Rate

Zeigt die Rate an, mit der die Anwendung auf dem Bildschirm rendert.

Bei Anwendungen ohne Animation sollte dieser Wert nahe 0 sein. In einer gut funktionierenden Anwendung sollte die Framerate während Animationen annähernd der Aktualisierungsrate des Bildschirms entsprechen (normalerweise 60 oder 75).

Dirty Rect Addition rate

Gibt an, wie viele rechteckige Bereiche die WPF für die Aktualisierung eines jeden Frames besitzt.

"Dirty Rectangle" (modifiziertes Rechteck) ist eine Renderingtechnik, bei der nur die Teile des Bildschirms gerendert werden, die sich geändert haben. Ein hoher Wert gibt an, dass sich viele Bereiche ändern. Dies ist nicht zwangsläufig gut oder schlecht, der Wert sollte jedoch bei der Bewertung der Gesamtleistung der Anwendung berücksichtigt werden.

SW IRTs Per Frame

Zeigt die Anzahl von Software-Zwischenrenderingzielen (IRTs) an, die zum Rendern eines Frames der Anwendung erforderlich ist.

IRTs sind speicherintensive, die WPF zuweisen und Daten daraus kopieren muss. Software-IRTs sind speicherintensiver als Hardware-IRTs.

IRTs sind normalerweise auf die Verwendung der DrawingBrush, VisualBrush, Opacity Eigenschaft für Visual oder der Kachelmodi für TileBrush zurückzuführen. Wenn diese Zahl hoch ist (z. B. 5 oder höher), bedeutet dies, dass das Rendern der Anwendung für die WPF-Laufzeit sehr arbeitsintensiv ist.

Auf einem Computer, der die Hardwarebeschleunigung unterstützt, sollte diese Zahl 0 sein. Andernfalls besagt diese Zahl, dass ein Teil der Szene mit der langsameren Softwarepipeline gerendert wird.

HW IRTs Per Frame

Zeigt die Anzahl von Hardware-Zwischenrenderingzielen (IRTs) an, die zum Rendern eines Frames der Anwendung erforderlich ist.

IRTs sind speicherintensive Hardwareoberflächen. WPF muss diese IRTs zuordnen und Daten in die IRTs sowie aus den IRTs kopieren.

Zwischenrenderingziele sind normalerweise auf die Verwendung der DrawingBrush, VisualBrush, Opacity Eigenschaft für Visual oder der Kachelmodi für TileBrush zurückzuführen. Wenn diese Zahl hoch ist (z. B. 5 oder höher), bedeutet dies, dass das Rendern der Anwendung für die WPF-Laufzeit sehr arbeitsintensiv ist. In diesem Fall müssen Sie alle Bereiche des Codes analysieren, in denen die zuvor genannten Elemente verwendet werden.

Hardware-IRTs sind weniger speicherintensiv als Software-IRTs.

Video Memory Usage

Verfolgt große Videospeicherbelegungen in WPF für Textur- und Renderingziele nach. In dieser Metrik werde keine Speicherbelegungen für den Videotreiber oder Speicherbelegungen für das Kompilieren und Laden von Pixel- und Vertexshadern nachverfolgt.

Eine Überschreitung des verfügbaren Texturspeichers führt in der Regel dazu, dass die WPF-Renderinglogik auf das Softwarerendering zurückgreifen muss und dass mehrere Monitore einen multiplikativen Effekt auf den von einer Anwendung benötigten Videospeicher haben.

Aa969767.collapse_all(de-de,VS.110).gifRenderingoptionen und Renderingoptimierung in Perforator

In Perforator können Sie zahlreiche Renderingoptionen festlegen, die sich auf das Echtzeit-Renderingverhalten der Anwendung auswirken. Mithilfe dieser Optionen können Sie Renderingereignisse anzeigen, die in der Anwendung Probleme verursachen können. Diese Optionen befinden sich im unteren Teil der Benutzeroberfläche.

Die folgende Abbildung zeigt die Perforator-Renderingoptionen.

Perforator-Renderingoptionen

Renderoptionen von Perforator

Im Allgemeinen sollte zum Verbessern der Leistung der WPF-Anwendungen das Softwarerendering minimiert und die Anzahl von Zwischenrenderingzielen verringert werden. In den folgenden Abschnitten wird erläutert, wie Sie dies mithilfe von Perforator erreichen können.

Aa969767.collapse_all(de-de,VS.110).gifVermeiden von Softwarerendering

Da die WPF-Hardwarerenderingpipeline bedeutend schneller ist als die Softwarerenderingpipeline, ist das Rendering in der Anwendung umso schneller, je weniger Anwendungsbenutzeroberfläche in der Software gerendert wird. In der Regel ist die zum Rendern eines Bereichs in der Software erforderliche Zeit proportional zur Anzahl gerenderter Pixel. Daher sollten Sie besonders auf große Bereiche achten, die mit der Softwarepipeline gerendert werden. Kleine Bereiche sind weniger von Belang.

In der folgenden Tabelle sind die Perforator-Optionen zum Ermitteln von Softwarerenderingproblemen aufgeführt.

Option

Beschreibung

Notizen

Draw software rendering with purple tint

Zeichnet alle Bereiche, die von der Softwarerenderingpipeline gerendert werden, mit violettem Farbton. Diese Option betrifft Softwarerenderingziele, Software-3D-Inhalte und Softwarefallbacks bei Primitiven.

Die WPF-Hardwarerenderingpipeline ist bedeutend schneller als die Softwarerenderingpipeline. Zu viel Softwarerendering weist in der Regel auf ein Problem hin. Zu viel Softwarerendering weist in der Regel auf ein Problem hin. Beispiele, die zu diesem Verhalten führen, sind die Verwendung zu vieler Brush Kacheln oder die Überschreitung der Texturgröße der Videokarte.

Draw software rendered bitmap effects with red tint

Zeichnet alle in älterer Software gerenderten Bitmapeffekte mit rotem Farbton.

In der Software gerenderte BitmapEffect Klassen sind langsamer und sollten vermieden werden. Verwenden Sie möglichst die in der Hardware gerenderten Effect Klassen, die in .NET Framework 3.5 SP1 eingeführt wurden.

Die folgende Abbildung zeigt die PhotoDemo-Beispielanwendung mit aktivierter Renderingoption Draw software rendering with purple tint.

PhotoDemo mit violettem Farbton

Anwendung Photodemo mit Perforator-Renderingoptionen

Aa969767.collapse_all(de-de,VS.110).gifÜberwachen geänderter Bereiche

Da WPF die Teile eines Fensters nur nach Bedarf aktualisiert, kann es hilfreich sein, Aktualisierungen jederzeit visuell darzustellen. In einigen Fällen werden auch wenn keine Animationen in der Anwendung stattfinden, weiter Bereiche aktualisiert. Mit den folgenden Optionen kann das Aktualisierungsverhalten visuell dargestellt werden. Unnötige Aktualisierungen sind besonders in Szenarien mit Remotedesktop, virtuellen Computern und ähnlichen Szenarien wichtig, wenn WPF neue Bitmaps über das Netzwerk senden muss. Außerdem können unnötige Aktualisierungen die Akkulaufzeit des Laptops beeinträchtigen.

Option

Beschreibung

Notizen

Show dirty-region update overlay

Jede von WPF vorgenommene Bildschirmaktualisierung wird durch eine Neueinfärbung angezeigt. Hierdurch können Sie feststellen, wann welche Bereiche der Anwendung neu gezeichnet werden.

WPF aktualisiert einzelne Fensterbereiche nur bei Bedarf. Daher kann es hilfreich sein, die Bereiche des Fensters darzustellen, die zu einem gegebenen Zeitpunkt aktualisiert werden. Verwenden Sie diese Option, wenn die Framerate und die Hinzufügerate für geänderte Rechtecke nicht Null sind, aber keine visuellen Elemente in der Anwendung geändert werden.

Disable dirty region support

WPF zeichnet das gesamte Fenster bei jeder Änderung neu.

Diese Option ist hilfreich, wenn Sie eine Aktualisierung des gesamten Fensters erzwingen möchten. Normalerweise wird nur der geänderte Teil des Fensters neu gezeichnet. Durch das Aktivieren dieser Option wird das Rendering der Anwendung erheblich verlangsamt.

Clear back-buffer before rendering

Anwendungsfenster werden vor jedem Zeichenvorgang gelöscht.

Diese Option ist eine Alternative zu Show dirty-region update overlay. Bei dieser Option werden die zuletzt geänderten Bereiche effektiv angezeigt, während sich die Option „Show dirty-region update overlay“ besser eignet, um Änderungen im geänderten Bereich im Zeitverlauf anzuzeigen.

Aa969767.collapse_all(de-de,VS.110).gifErkennen andere Ursachen des Leistungsabfalls

Mit Perforator können Sie einzelne rechenintensive Vorgänge deaktivieren, um festzustellen, ob diese Vorgänge Leistungsengpässe in der Anwendung verursachen. Wenn Sie die Framerate der Anwendung überwachen und diese Optionen einzeln auswählen, können Sie feststellen, ob Vorgänge wie das 3D-Rendering oder die Neuskalierung von Bildern Renderingprobleme verursachen. Wenn Sie eine dieser Optionen auswählen und die Framerate dann erheblich abnimmt, haben Sie wahrscheinlich den Engpass in der Anwendung identifiziert.

Option

Beschreibung

Notizen

Disable Opacity Effects

Deaktiviert bestimmte, potenziell rechenintensive Durchlässigkeitseffekte.

Um dieses Leistungsproblem generell zu vermeiden, legen Sie die Durchlässigkeit für Objekte auf unterer Ebene fest (z. B. Brush und nicht für Objekte auf hoher Ebene (z. B. Button).

Disable per-primitive software fallback

Deaktiviert Softwarefallbacks für einzelne Renderingprimitiven. Zwischenziele und andere Elemente des Softwarerendering kann nicht deaktiviert werden.

Diese Option ist in den meisten Fällen nicht erforderlich. Lassen Sie sie deaktiviert.

Disable high-quality image rescaling

Deaktiviert die Neuskalierung von Bildern auf eine kleinere Bildgröße.

Diese Option ermöglicht es Ihnen, die Auswirkung der Neuskalierung von Bildern in der Anwendung anzuzeigen. Wenn die Framerate durch das Aktivieren dieser Option bedeutend abnimmt, sollten Sie die Bilder ggf. in eine der Anzeigegröße ähnliche Größe decodieren.

Disable 3D rendering

Deaktiviert alle 3D-Renderingvorgänge.

Diese Option ermöglicht es Ihnen, die Auswirkung von 3D-Renderingvorgängen in der Anwendung anzuzeigen.

Visual Profiler

Visual Profiler ist ein Leistungsprofilerstellungstool von WPF-Diensten (z. B. Layout, Rendering und Animation) für Elemente in der visuellen Struktur. Durch die Analyse der Profilausgabe dieses Tools können Sie bestimmen, welche visuellen Elemente in der Anwendung möglicherweise Leistungsengpässe verursachen.

Visual Profiler stellt Leistungsprobleme im Kontext der grundlegenden Bausteine dar, aus denen die visuellen Szenen in der Anwendung erstellt werden. Zu diesen Bausteinen zählen Objekte auf hoher Ebene (z. B. die Button und TextBlock Steuerelemente), aber auch Objekte auf niedriger Ebene (z. B. die Line und Ellipse Elemente). In Visual Profiler werden Leistungsprobleme nicht anhand von Aufrufdiagrammen der Funktionsnamen beschrieben, sondern als Darstellung visueller Objekte. Dieses Verfahren ähnelt der Informationsdarstellung des Windows SDK Tools UI Spy. Weitere Informationen finden Sie unter UISpy.exe (UI Spy)

Aa969767.collapse_all(de-de,VS.110).gifVerwenden von Visual Profiler

Starten Sie zum Verwenden von Visual Profiler die WPF-Anwendung, die Sie analysieren möchten. Klicken Sie nach dem Start der Anwendung auf die Registerkarte Visual Profiler und klicken Sie dann im Menü Actions auf Select Process. Wählen Sie im Dialogfeld „Select Process“ den Anwendungsprozess aus, den Sie analysieren möchten, und klicken Sie dann auf Select. Der Prozessname und die Prozess-ID sollte jetzt am oberen Rand der Perforator Registerkarte angezeigt werden.

Um ein breites Spektrum von WPF-Leistungsproblemen analysieren zu können, müssen Sie die Rolle und den Umfang der zugrunde liegenden WPF-Dienste verstehen. Zu diesen Diensten gehören Layout, Rendering und Animation. Visual Profiler stellt eine grafische Darstellung der Zuordnung von WPF-Diensten zu Anwendungsobjekten bereit. Bei der Anzeige der visuellen Struktur der Anwendungsobjekte in Visual Profiler werden die Objekte z. B. mit verschiedenen Rotschattierungen überlagert. Diese Schattierungen zeigen die relative Ressourcenverwendung durch ein Objekt an. Ein Objekt, das in dunklerem Rot dargestellt wird, beansprucht einen höheren Anteil der Ressourcen als Objekte, die in hellerem Rot dargestellt werden. Darüber hinaus zeigt Visual Profiler detailliert an, zu welchem Anteil einzelne WPF-Ressourcen von einem Objekt verwendet werden.

Die folgende Abbildung zeigt die Benutzeroberfläche von Visual Profiler.

Benutzeroberfläche von Visual Profiler

Benutzeroberfläche von Visual Profiler

Die Benutzeroberfläche von Visual Profiler besteht aus acht Bereichen.

  1. Suchfeld für die Elementstruktur

  2. Visuelle Elementstruktur

  3. Elementdetails und Vorschau

  4. Exklusive CPU-Auslastungsdetails für Elemente

  5. CPU-Auslastungsdetails für Anwendungen

  6. Zoomsteuerelement für erfasste Daten

  7. Anzeigeeinstellungen für das Verlaufsdiagramm

  8. Optionen für Anwendungsvorschau und Leistungsüberlagerung

In den folgenden Abschnitten werden die einzelnen Bereiche beschrieben.

Aa969767.collapse_all(de-de,VS.110).gifuchfeld für die Elementstruktur

Das Suchfeld im Abschnitt Elementstruktur bietet die Möglichkeit, nach Elementen in der Elementstruktur der Anwendung zu suchen. Wenn eine Suche ausgeführt wird, werden alle übereinstimmenden Elemente gelb hervorgehoben. Sie können anhand des Typs oder Namens nach Elementen suchen.

Aa969767.collapse_all(de-de,VS.110).gifVisuelle Elementstruktur

In der Strukturansicht im Abschnitt Element Tree werden der Typ und Name visueller Elemente in der Anwendung sowie Größen- und Layoutdetails der Unterstruktur angezeigt.

Das folgende Beispiel zeigt eine Elementbezeichnung in der Struktur.

Border 'border1' (26) 0.02% (I)/ 0.00 % (E) - .24 ms (I) / 0.00 ms (E)

Teil der Elementbezeichnung

Beschreibung

Randbereich

Der Typ des Elements.

'border1'

Name des Elements.

(26)

Die Größe der Unterstruktur.

0.02% (I)

Der prozentuale Anteil der Gesamtgröße einer inklusiven Struktur (das Element und alle Nachfolger).

0.00 (E)

Der prozentuale Anteil der Gesamtanzahl von Elementen (nur für das Element).

.24 ms (I)

Die Zeit in Millisekunden zum Herstellen des Layouts für das Element und seine Nachfolger.

0.00 ms (E)

Die Zeit in Millisekunden zum Herstellen des Layouts für das Element.

Verwenden Sie das Menü View, um zu steuern, ob inklusive/exklusive prozentuale Zeitinformationen angezeigt werden.

Klicken Sie mit der rechten Maustaste auf ein Element, um die Unterstruktur zu erweitern bzw. zu reduzieren. Sie können auch den langsamsten Pfad erweitern. Der langsamste Pfad zeigt das Element in der Unterstruktur, das in dieser Unterstruktur die meiste CPU verbraucht.

Aa969767.collapse_all(de-de,VS.110).gifElementdetails und Vorschau

Im Abschnitt Element Information wird der Typ und Name des aktuell ausgewählten Elements angezeigt, sofern das Element benannt ist. Im Abschnitt Preview ist zudem eine Vorschau des Elements verfügbar. Wenn das oberste Element ausgewählt ist, wird eine Vorschau der Anwendung angezeigt.

Aa969767.collapse_all(de-de,VS.110).gifExklusive CPU-Auslastungsdetails für Elemente

Im Abschnitt Element Exclusive CPU Usage werden ein Verlaufsdiagramm und Details zur exklusiven CPU-Zeit angezeigt, die im Zeitverlauf vom ausgewählten Element verbraucht wurde. Ein Element kann z. B. x % der CPU-Zeit für die Anordnung des Layouts, y % für die Messung des Layouts and z % für das Rendering aufwenden.

Aa969767.collapse_all(de-de,VS.110).gifCPU-Auslastungsdetails für Anwendungen

Im Abschnitt Application CPU Usage werden ein Verlaufsdiagramm und Details von Anwendungsereignissen angezeigt. Visual Profiler lauscht auf verschiedene Anwendungsereignisse und erfasst diese Ereignisse. Die Anwendungsereignisse werden mit absoluten Werten aufgelistet, und im Verlaufsdiagramm wird die CPU-Zeit der einzelnen Anwendungsereignisse im Zeitverlauf mit unterschiedlichen Farben dargestellt. So können Sie leicht feststellen, wie viel Zeit die Anwendung für Layout und Rendering aufwendet.

In der folgenden Tabelle werden die im Diagramm dargestellten Anwendungsereignisse beschrieben.

Hinweis

Ereignisse, die Methodenaufrufen in WPF entsprechen, sind mit dem Methodennamen und dem Klassennamen in Klammern angegeben.Tick (TimeManager) stellt z. B. die TimeManager.Tick Methode dar.

Anwendungsereignisse

Beschreibung

Unlabeled Time

In WPF aufgewendete Zeit, die keinem anderen Anwendungsereignis zugeordnet ist, und die gesamte Zeit außerhalb von WPF.

RenderMessageHandler (MediaContext)

Tritt auf, wenn das Rendering initiiert wird. Dieses Ereignis verursacht u. a. einen Tick (Teilstrich) im Zeit-Manager.

Rendering Thread

Tritt auf, wenn Renderinganweisungen im Renderingthread ausgeführt werden. Mit diesem Ereignis können Sie feststellen, welche Anwendungen an das Rendering gebunden sind.

Layout

Tritt während der Messung, der Anordnung und des Renderings auf.

UpdateRealizations

Tritt auf, wenn interne Bitmapdarstellungen von Text und Bitmapeffekten aktualisiert werden.

Tick (TimeManager)

Tritt bei einem Tick der Animation auf. Dieses Ereignis kann den Renderhandler für die Animation auslösen.

Wenn Sie Objekte in WPF animieren, werden die für die Zeitachsen erstellten Clock Objekte vom Zeit-Manager verwaltet. Der Zeit-Manager ist der Stamm einer Struktur von Clock Objekten und steuert den Zeitablauf in dieser Struktur. Ein Zeit-Manager wird automatisch für jede WPF-Anwendung erstellt und ist für den Anwendungsentwickler nicht sichtbar. Der Zeit-Manager erfasst viele „Ticks“ pro Sekunde. Die tatsächliche Anzahl von Ticks pro Sekunde variiert abhängig von den verfügbaren Systemressourcen.

AnimatedRenderMessageHandler (MediaContext)

Tritt bei der Animationsverarbeitung und Aktualisierungen auf. Wenn Animationen aktiviert sind, verarbeitet und aktualisiert dieser Handler die Animation, wodurch Eigenschaften geändert werden und das Rendering eingeleitet wird.

Render (MediaContext)

Tritt während des Renderings auf. Diese Methode ruft letztlich die OnRender Methode für jedes Element auf und liefert Informationen zur gesamten Ressourcenbeanspruchung durch OnRender für alle Elemente. Dieses Ereignis entspricht der MediaContext.Render-Methode in einer VSP-Datei (Visual Studio-Profiler).

Aa969767.collapse_all(de-de,VS.110).gifZoomsteuerelement für erfasste Daten

Der Abschnitt Graph Options enthält ein Zoomsteuerelement für erfasste Daten. Mit den Ziehpunkten des Zoomfensters können Sie die Größe der Verlaufsdiagramme zur exklusiven CPU-Auslastung für Elemente und CPU-Auslastung für Anwendungen und die Zeitachse ändern.

Aa969767.collapse_all(de-de,VS.110).gifAnzeigeeinstellungen für das Verlaufsdiagramm

Der Abschnitt Graph Options enthält Optionsfelder und einen Schieberegler zum Anpassen der Verlaufsdiagrammeinstellungen. Mit den Optionsfeldern können Sie das Verhalten der CPU-Achse (vertikale Achse) angeben, d. h., ob absolute oder relative Gewichtungen angezeigt werden. Mit dem Schieberegler können Sie einen maximalen Anzeigewert für das Diagramm festlegen.

Aa969767.collapse_all(de-de,VS.110).gifOptionen für Anwendungsvorschau und Leistungsüberlagerung

Der Abschnitt Control Options enthält drei Umschaltflächen, mit denen die folgenden Aktionen ausgeführt werden.

  • Klicken Sie auf die erste Umschaltfläche, um die Datensammlung in Visual Profiler anzuhalten oder zu starten.

  • Klicken Sie auf die Umschaltfläche Live Preview, um eine Livevorschau der Anwendung im Abschnitt Preview anzuzeigen.

  • Klicken Sie auf die Umschaltfläche Overlay Window, um einen gelben Rahmen um das ausgewählte visuelle Element hinzuzufügen. Für Elemente, die die meiste CPU-Zeit belegen, wird eine rote Überlagerung hinzugefügt. Dieselbe rote Farbe wird für das Element im Abschnitt Element Tree verwendet. Die Intensität des Rottons entspricht der CPU-Auslastung.

Siehe auch

Konzepte

UISpy.exe (UI Spy)

Weitere Ressourcen

Optimieren der WPF-Anwendungsleistung

Renderingebenen für Grafiken

Übersicht über das WPF-Grafikrendering

Neues in den Leistungsprofilerstellungstools für WPF