Ressourcenbindung
Die Bindung ist der Prozess des Verknüpfens von Ressourcenobjekten mit den Shadern der Grafikpipeline.
In diesem Abschnitt
Thema | Beschreibung |
---|---|
Übersicht über die Ressourcenbindung | Der Schlüssel zur Ressourcenbindung in DirectX 12 sind die Konzepte eines Deskriptors, Deskriptortabellen, Deskriptor-Heaps und einer Stammsignatur. |
Unterschiede im Bindungsmodell von Direct3D 11 | Eine der wichtigsten Entwurfsentscheidungen hinter der DirectX12-Bindung besteht darin, sie von anderen Verwaltungsaufgaben zu trennen. Dies setzt einige Anforderungen an die App, um bestimmte potenzielle Gefahren zu verwalten. |
Deskriptoren | Deskriptoren sind die primäre Bindungseinheit für eine einzelne Ressource in D3D12. |
Deskriptor heaps | Ein Deskriptor heap ist eine Sammlung zusammenhängender Zuordnungen von Deskriptoren, einer Zuordnung für jeden Deskriptor. |
Beschreibungstabellen | Eine Deskriptortabelle ist logisch ein Array von Deskriptoren. |
Stammsignaturen | Die Stammsignatur definiert, welche Ressourcentypen an die Grafikpipeline gebunden sind. |
Funktionsabfrage | Ihre Anwendung kann die Unterstützungsebene für die Ressourcenbindung und viele andere Features mit einem Aufruf von ID3D12Device::CheckFeatureSupport ermitteln. |
Ressourcenbindung in HLSL | In diesem Thema werden einige spezifische Features der Verwendung von High Level Shader Language (HLSL) Shader Model 5.1 mit Direct3D 12 beschrieben. Alle Direct3D 12-Hardware unterstützt Shadermodell 5.1. Daher hängt die Unterstützung für dieses Modell nicht davon ab, was die Hardwarefeatureebene ist. |
UMA-Optimierungen: CPU-barrierefreie Texturen und Standard-Swizzle | Unified Memory Architecture (UMA)-GPUs bieten einige Effizienzvorteile gegenüber diskreten GPUs, insbesondere bei der Optimierung für mobile Geräte. Das Gewähren des CPU-Zugriffs auf Ressourcen, wenn die GPU UMA ist, kann den Kopieraufwand zwischen CPU und GPU verringern. Es wird zwar nicht empfohlen, Anwendungen blind CPU-Zugriff auf alle Ressourcen in UMA-Designs zu gewähren, aber es gibt Möglichkeiten, die Effizienz zu verbessern, indem sie den richtigen RESSOURCEN-CPU-Zugriff gewähren. Im Gegensatz zu einzelnen GPUs kann die CPU technisch über einen Zeiger auf alle Ressourcen verfügen, auf die die GPU zugreifen kann. |
Ungeordnete Access-Ansicht wird geladen | Ungeordnete Access-Ansicht (UAV) Typed Load ist die Möglichkeit, einen Shader mit einem bestimmten DXGI_FORMAT aus einem UAV zu lesen. |
Volume Tiled Resources | Volumentexturen (3D) können als nebeneinander angeordnete Ressourcen verwendet werden, wobei die Kachelauflösung dreidimensional ist. |
Unterressourcen | Beschreibt, wie eine Ressource in Unterressourcen unterteilt wird und wie auf ein einzelnes, mehrere oder Segmente von Unterressourcen verwiesen wird. |