Direct3D 12-Programmieranleitung

Direct3D 12 bietet eine API und Plattform, mit der Apps die Grafik- und Computingfunktionen von PCs nutzen können, die mit mindestens einer Direct3D 12-kompatiblen GPUs ausgestattet sind.

In diesem Abschnitt

Thema BESCHREIBUNG
Was ist Direct3D 12? DirectX 12 führt die nächste Version von Direct3D ein, die 3D-Grafik-API im Herzen von DirectX. Diese Version von Direct3D ist schneller und effizienter als jede vorherige Version. Direct3D 12 ermöglicht umfangreichere Szenen, mehr Objekte, komplexere Effekte und die vollständige Nutzung moderner GPU-Hardware.
Neuerungen in Direct3D 12 Beschreibt die wichtigste neue Dokumentation, die mit dem neuesten SDK-Release verfügbar ist.
Grundlegendes zu Direct3D 12 Um 3D-Spiele und -Apps für Windows 10 und Windows 10 Mobile zu schreiben, müssen Sie die Grundlagen der Direct3D 12-Technologie kennen und die Verwendung in Ihren Spielen und Apps vorbereiten.
Arbeitsübermittlung in Direct3D 12 Um die CPU-Effizienz von Direct3D-Apps zu verbessern, unterstützt Direct3D 12 keinen unmittelbaren Kontext mehr, der einem Gerät zugeordnet ist. Stattdessen zeichnen Apps Befehlslisten auf und übermitteln sie dann, die Zeichnungs- und Ressourcenverwaltungsaufrufe enthalten. Diese Befehlslisten können von mehreren Threads an eine oder mehrere Befehlswarteschlangen übermittelt werden, die die Ausführung der Befehle verwalten. Diese grundlegende Änderung erhöht die Effizienz von Singlethreads, indem Apps Renderingvorgänge vorab für die spätere Wiederverwendung berechnen können, und sie nutzt Multi-Core-Systeme, indem die Renderingarbeit auf mehrere Threads verteilt wird.
Ressourcenbindung in Direct3D 12 Bindung ist der Prozess, bei dem Ressourcenobjekte mit den Shadern der Grafikpipeline verknüpft werden.
Speicherverwaltung in Direct3D 12 Der Wechsel zu D3D12 umfasst eine ordnungsgemäße Synchronisierung und Verwaltung der Speicherresidenz. Die Verwaltung der Speicherresidenz bedeutet, dass noch mehr Synchronisierungen durchgeführt werden müssen. In diesem Abschnitt werden Speicherverwaltungsstrategien und untergeordnete Zuordnungen innerhalb von Heaps und Puffern behandelt.
Systeme mit mehreren Adaptern Beschreibt die Unterstützung in Direct3D 12 für Systeme, auf denen mehrere Adapter installiert sind. Dabei werden Szenarien beschrieben, in denen Ihre Anwendung explizit auf mehrere GPU-Adapter ausgerichtet ist, und Szenarien, in denen Treiber implizit mehrere GPU-Adapter im Namen Ihrer Anwendung verwenden.
Synchronisierung mit mehreren Modulen In diesem Thema wird die Synchronisierung des Zugriffs auf die verschiedenen unabhängigen Engines in den meisten modernen GPUs erläutert.
Darstellung Dieser Abschnitt enthält Informationen zu Renderingfeatures, die in Direct3D 12 (und Direct3D 11.3) neu sind.
Indikatoren, Abfragen und Leistungsmessung In den folgenden Abschnitten werden Features beschrieben, die bei Leistungstests und -verbesserungen verwendet werden können, z. B. Abfragen, Indikatoren, Zeitsteuerung und Prädication.
Arbeiten mit Direct3D 11, Direct3D 10 und Direct2D In diesem Abschnitt werden Interop-Techniken mit früheren Versionen von Direct3D und Direct2D, der Direct3D 11on12-API und Portierungsrichtlinien von Direct3D 11 zu Direct3D 12 behandelt.
Arbeitsbeispiele Arbeitsbeispiele stehen zum Download zur Verfügung, die die Verwendung einer Reihe von Features von Direct3D 12 zeigen.
Exemplarische Vorgehensweisen für D3D12-Code Dieser Abschnitt enthält Code für Beispielszenarien. Viele der exemplarische Vorgehensweisen enthalten Details dazu, welche Codierung einem einfachen Beispiel hinzugefügt werden muss, um zu vermeiden, dass der grundlegende Komponentencode für jedes Szenario wiederholt wird.
Debuggen und Diagnose mit Direct3D 12 Enthält Themen, in denen beschrieben wird, wie Sie die Direct3D 12-Debugebene mit GPU-basierter Validierung (GBV) optimal nutzen und wie Sie erweiterte Daten (Device Removed Extended Data, DRED) verwenden.