Ressourcenbindung

Bindung ist der Prozess, bei dem Ressourcenobjekte mit den Shadern der Grafikpipeline verknüpft werden.

In diesem Abschnitt

Thema BESCHREIBUNG
Übersicht über Ressourcenbindungen Der Schlüssel zur Ressourcenbindung in DirectX 12 sind die Konzepte eines Deskriptors, Deskriptortabellen, Deskriptorheaps und einer Stammsignatur.
Unterschiede im Bindungsmodell von Direct3D 11 Eine der Standard Entwurfsentscheidungen hinter der DirectX12-Bindung besteht darin, sie von anderen Verwaltungsaufgaben zu trennen. Dies stellt 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.
Deskriptorheaps Ein Deskriptorheap ist eine Sammlung zusammenhängender Zuordnungen von Deskriptoren, eine Zuordnung für jeden Deskriptor.
Deskriptortabellen Eine Deskriptortabelle ist logisch ein Array von Deskriptoren.
Stammsignaturen Die Stammsignatur definiert, welche Arten von Ressourcen an die Grafikpipeline gebunden sind.
Funktionsabfragen Ihre Anwendung kann die Ebene der Unterstützung 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 des HLSL-Shadermodells 5.1 mit Direct3D 12 beschrieben. Alle Direct3D 12-Hardware unterstützt das Shadermodell 5.1. Daher hängt die Unterstützung für dieses Modell nicht von der Hardwarefeatureebene ab.
UMA-Optimierungen: CPU-barrierefreie Texturen und Standard Swizzle UMA-GPUs (Universal Memory Architecture) bieten einige Effizienzvorteile gegenüber diskreten GPUs, insbesondere bei der Optimierung für mobile Geräte. Das Gewähren von CPU-Zugriff für 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 den richtigen Ressourcen CPU-Zugriff erteilt wird. Im Gegensatz zu diskreten GPUs kann die CPU technisch gesehen über einen Zeiger auf alle Ressourcen verfügen, auf die die GPU zugreifen kann.
Typisierte, ungeordnete Zugriffsansichtsladevorgänge Unordered Access View (UAV) Typed Load ist die Möglichkeit für einen Shader, aus einem UAV mit einem bestimmten DXGI_FORMAT zu lesen.
Menge gekachelter Ressourcen Volumentexturen (3D) können als kachelnde Ressourcen verwendet werden, wobei die Kachelauflösung dreidimensional ist.
Unterressourcen Beschreibt, wie eine Ressource in Unterressourcen unterteilt wird und wie auf eine einzelne, mehrere oder mehrere Unterressourcen verwiesen wird.