Freigeben über


Renderingebenen für Grafiken

Eine Renderingebene definiert den Umfang der Funktionen und Leistung der Grafikhardware für ein Gerät, auf dem eine WPF-Anwendung ausgeführt wird.

Dieses Thema enthält folgende Abschnitte.

  • Grafikhardware
  • Definitionen von Renderingebenen
  • Weitere Ressourcen
  • Verwandte Abschnitte

Grafikhardware

Folgende Features der Grafikhardware wirken sich besonders stark auf die Renderingebenen aus:

  • Video-RAM: Der Umfang des Video-Arbeitsspeichers der Grafikhardware bestimmt die Größe und Anzahl der Puffer, die für die Zusammensetzung von Grafiken verwendet werden können.

  • Pixelshader: Ein Pixelshader ist eine Grafikverarbeitungsfunktion, die Effekte auf der Basis einzelner Pixel berechnet. Je nach Auflösung der angezeigten Grafiken müssen möglicherweise für jeden angezeigten Frame mehrere Millionen Pixel verarbeitet werden.

  • Vertexshader: Ein Vertexshader ist eine Grafikverarbeitungsfunktion, die mathematische Operationen für die Vertexdaten des Objekts ausführt.

  • Unterstützung von Mehrfachtexturen: Hierbei handelt es sich um die Fähigkeit, während eines Blendingvorgangs mehrere unterschiedliche Texturen auf ein 3D-Grafikobjekt anzuwenden. Der Grad der Unterstützung von Mehrfachtexturen hängt von der Anzahl der Mehrfachtextureinheiten in der Grafikhardware ab.

Definitionen von Renderingebenen

Die Features der Grafikhardware bestimmen die Renderingfähigkeit einer WPF-Anwendung. Das WPF-System definiert drei Renderingebenen:

  • Renderingebene 0 (null) Keine Grafikhardwarebeschleunigung. Alle Grafikfeatures verwenden die Softwarebeschleunigung. Die DirectX-Versionsebene liegt in einer niedrigeren Version als 9.0 vor.

  • Renderingebene 1 Einige Grafikfeatures verwenden die Grafikhardwarebeschleunigung. Die DirectX-Versionsebene beträgt mindestens Version 9.0.

  • Renderingebene 2 Die meisten Grafikfeatures verwenden die Grafikhardwarebeschleunigung. Die DirectX-Versionsebene beträgt mindestens Version 9.0.

Die RenderCapability.Tier-Eigenschaft ermöglicht es Ihnen, die Renderingebene zur Anwendungslaufzeit abzurufen. Anhand der Renderingebene bestimmen Sie, ob das Gerät bestimmte hardwarebeschleunigte Grafikfunktionen unterstützt. Je nach der vom Gerät unterstützten Renderingebene kann die Anwendung zur Laufzeit dann verschiedenen Codepfaden folgen.

Renderingebene 0 (null)

Der Wert 0 (null) für die Renderingebene bedeutet, dass auf diesem Gerät für die Anwendung keine Grafikhardwarebeschleunigung verfügbar ist. Auf dieser Ebene sollten Sie davon ausgehen, dass alle Grafiken von Software ohne Hardwarebeschleunigung gerendert werden. Die Funktionen dieser Ebene entsprechen einer DirectX-Version, die niedriger als 9.0 ist.

Renderingebene 1 und Renderingebene 2

HinweisHinweis

Ab .NET Framework 4 wurde die Renderingebene 1 neu definiert, um nur Grafikhardware einzuschließen, die DirectX 9.0 oder höher unterstützt.Grafikhardware, die DirectX 7 oder 8 unterstützt, ist nun als Renderingebene 0 definiert.

Ein Renderingebenenwert von 1 oder 2 gibt an, dass die meisten Grafikfunktionen von WPF die Hardwarebeschleunigung verwenden, wenn die erforderlichen Systemressourcen verfügbar und nicht überlastet sind. Dies entspricht einer DirectX-Version von 9.0 oder höher.

In der folgenden Tabelle sind die Unterschiede bezüglich der Grafikhardwareanforderungen für Renderingebene 1 und Renderingebene 2 aufgeführt:

Feature

Ebene 1

Ebene 2

DirectX-Version

Muss mindestens 9.0 sein.

Muss mindestens 9.0 sein.

Video-RAM

Muss größer oder gleich 60 MB sein.

Muss mindestens 120 MB betragen.

Pixel-Shader

Die Versionsebene muss mindestens 2.0 sein.

Die Versionsebene muss mindestens 2.0 sein.

Vertex-Shader

Keine Anforderung.

Die Versionsebene muss mindestens 2.0 sein.

Mehrfachtextureinheiten

Keine Anforderung.

Die Anzahl der Einheiten muss mindestens 4 betragen.

Die folgenden Funktionen sind für Renderingebene 1 und Renderingebene 2 hardwarebeschleunigt:

Feature

Hinweise

2D-Rendering

Die meisten 2D-Renderingfunktionen werden unterstützt.

3D-Rasterung

Die meisten 3D-Rasterungsfunktionen werden unterstützt.

Anisotropische 3D-Filterung

WPF versucht, 3D-Inhalt mithilfe der anisotropischen Filterung zu rendern. Die anisotropische Filterung dient der verbesserten Bildqualität von Texturen auf Oberflächen, die weit von der Kamera entfernt sind und in einem steilen Winkel zur Kamera stehen.

MIP-Zuordnung im 3D-Bereich

WPF versucht, 3D-Inhalt mithilfe der MIP-Zuordnung zu rendern. Die MIP-Zuordnung verbessert die Qualität des Rendering von Texturen, wenn eine Textur in Viewport3D ein kleineres Sichtfeld belegt.

Radiale Farbverläufe

Vermeiden Sie die Verwendung von RadialGradientBrush für große Objekte, obwohl dies unterstützt wird.

3D-Beleuchtungsberechnungen

WPF führt eine vertexspezifische Beleuchtung durch, d. h. eine Lichtintensität muss bei jedem Vertex für jedes Material, das auf ein Gitter angewendet wird, berechnet werden.

Rendern von Text

Beim Subpixel-Rendering von Schriftarten werden verfügbare Pixel-Shader der Grafikhardware verwendet.

Die folgenden Funktionen sind nur für Renderingebene 2 hardwarebeschleunigt:

Feature

Hinweise

3D-Antialiasing

3D-Antialiasing wird nur auf Betriebssystemen unterstützt, die das Windows-Anzeigetreibermodell (Windows Display Driver Model, WDDM) unterstützen, z. B. Windows Vista und Windows 7.

Die folgenden Funktionen sind nicht hardwarebeschleunigt:

Feature

Hinweise

Ausgegebene Inhalte

Alle ausgegebenen Inhalte werden mithilfe der WPF-Softwarepipeline gerendert.

Gerasterte Inhalte, die RenderTargetBitmap verwenden.

Alle Inhalte, die mithilfe der Render-Methode von RenderTargetBitmap gerendert werden.

Gekachelte Inhalte, die TileBrush verwenden

Gekachelte Inhalte, bei denen die TileMode-Eigenschaft von TileBrush auf Tile festgelegt ist.

Oberflächen, die die maximale Texturgröße der Grafikhardware überschreiten

Gängige Grafikhardware unterstützt meist Oberflächen mit einer Größe von 2048x2048 oder 4096x4096 Pixeln.

Alle Vorgänge, deren Anforderungen an den Video-RAM den Speicher der Grafikhardware übersteigen

Sie können mithilfe des in der WPF Performance Suite im Windows SDK enthaltenen Perforator-Tools anzeigen, wie viel Grafikspeicher eine Anwendung verwendet.

Überlappende Fenster

Mithilfe von überlappenden Fenstern können WPF-Anwendungen Inhalte auf dem Bildschirm in einem nicht rechteckigen Fenster rendern. Bei Betriebssystemen, die das Windows-Anzeigetreibermodell (WDDM) unterstützen (z. B. Windows Vista und Windows 7), sind überlappende Fenster hardwarebeschleunigt. Unter anderen Betriebssystemen, z. B. Windows XP, werden überlappende Fenster durch Software ohne Hardwarebeschleunigung gerendert.

Sie können überlappende Fenster in WPF aktivieren, indem Sie die folgenden Window-Eigenschaften festlegen:

Weitere Ressourcen

Die folgenden Ressourcen können Ihnen helfen, die Leistungsmerkmale der WPF-Anwendung zu analysieren.

Registrierungseinstellungen für das Rendern von Grafiken

WPF stellt vier Registrierungseinstellungen zum Steuern des WPF-Rendering bereit:

Einstellung

Beschreibung

Option zum Deaktivieren der Hardwarebeschleunigung

Gibt an, ob die Hardwarebeschleunigung aktiviert werden soll.

Maximaler Wert für Multisampling

Gibt den Grad des Multisampling für das Antialiasing von 3-D-Inhalten an.

Einstellung für das erforderliche Videotreiberdatum

Gibt an, ob das System die Hardwarebeschleunigung für Treiber deaktiviert, die vor November 2004 veröffentlicht wurden.

Option zum Verwenden der Referenz-Rasterisierungsfunktion

Gibt an, ob WPF die Referenz-Rasterisierungsfunktion verwenden soll.

Auf diese Einstellungen kann mit jedem externen Konfigurationsdienstprogramm zugegriffen werden, das auf die WPF-Registrierungseinstellungen verweisen kann. Diese Einstellungen lassen sich auch erstellen oder ändern, indem mithilfe des Windows-Registrierungs-Editors direkt auf die Werte zugegriffen wird. Weitere Informationen finden Sie unter Registrierungseinstellungen für das Rendern von Grafiken.

WPF-Leistungsprofilerstellungstools

WPF stellt eine Suite von Tools zum Erstellen von Leistungsprofilen bereit, mit denen Sie das Laufzeitverhalten einer Anwendung analysieren und die Typen der anwendbaren Leistungsoptimierungen bestimmen können. In der folgenden Tabelle werden die Leistungsprofilerstellungstools aufgeführt, die im Windows SDK-Tool WPF Performance Suite enthalten sind:

Tool

Beschreibung

Perforator

Zum Analysieren des Renderingverhaltens.

Visual Profiler

Zur Profilerstellung der Verwendung von WPF-Diensten, z. B. Layout und Ereignisbehandlung, durch Elemente in der visuellen Struktur.

Die WPF Performance Suite bietet eine leistungsfähige grafische Ansicht der Leistungsdaten. Weitere Informationen zu Tools zum Erstellen von WPF-Leistungsprofilen finden Sie unter WPF Performance Suite.

DirectX-Diagnosetool

Das DirectX-Diagnosetool Dxdiag.exe dient zum Beheben von Problemen im Zusammenhang mit DirectX. Der Standardinstallationsordner für das DirectX-Diagnosetool ist:

~\Windows\System32

Beim Ausführen des DirectX-Diagnosetools enthält das Hauptfenster eine Reihe von Registerkarten, mit denen Sie Informationen im Zusammenhang mit DirectX anzeigen und einer Diagnose unterziehen können. Die Registerkarte System z. B. bietet Systeminformationen über den Computer und gibt die auf dem Computer installierte DirectX-Version an.

Hauptfenster des DirectX-Diagnosetools

Bildschirmabbildung: DirectX-Diagnosetool

Siehe auch

Referenz

RenderCapability

RenderOptions

Konzepte

Optimieren der WPF-Anwendungsleistung

WPF Performance Suite

Registrierungseinstellungen für das Rendern von Grafiken

Tipps und Tricks zu Animationen

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

Oktober 2010

Die Informationen für .NET Framework 4 und Renderingebene 2 wurden aktualisiert.

Kundenfeedback.

September 2010

Informationen zu WPF-Leistungsprofilerstellungstools wurden hinzugefügt.

Informationsergänzung.