Freigeben über


Unterlastung innerhalb von Puffern

Puffer verfügen über alle Features, die in D3D12 für Anwendungen erforderlich sind, um eine große Palette vorübergehender Daten von der CPU auf die GPU zu übertragen. In diesem Abschnitt werden vier häufige Szenarien für die Verwendung und Verwaltung von Ressourcen und Puffern behandelt.

Ähnlich wie D3D11 müssen Anwendungen in D3D12 weiterhin die Speichernutzung deklarieren, wenn Puffer in D3D12 im Vergleich zu dynamischen/Stagingressourcen in D3D11 zugeordnet werden, aber in D3D12 haben Entwickler mehr Flexibilität und engere Kontrolle über die Speicherauslastung. Puffer verfügen über untergeordnete Puffer über alle Features, die für die Verwaltung von Arbeitsspeicher auf niedriger Ebene erforderlich sind.

In diesem Abschnitt

Thema Beschreibung
Hochladen verschiedener Ressourcentypen
Zeigt, wie Sie einen Puffer verwenden, um sowohl Konstantenpufferdaten als auch Vertexpufferdaten in die GPU hochzuladen, und wie Sie Daten ordnungsgemäß unterteilen und in Puffern platzieren. Die Verwendung eines einzelnen Puffers erhöht die Flexibilität bei der Speicherauslastung und bietet Anwendungen eine engere Kontrolle über die Speicherauslastung. Zeigt außerdem die Unterschiede zwischen den D3D11- und D3D12-Modellen zum Hochladen verschiedener Ressourcentypen.
Hochladen von Texturdaten über Puffer
Das Hochladen von 2D- oder 3D-Texturdaten ähnelt dem Hochladen von 1D-Daten, mit der Ausnahme, dass Anwendungen die Datenausrichtung im Zusammenhang mit Zeilenabstand näher beachten müssen. Puffer können orthogonal und gleichzeitig aus mehreren Teilen der Grafikpipeline verwendet werden und sind sehr flexibel.
Lesen von Daten über einen Puffer
Das Lesen von Daten aus der GPU, z. B. das Erfassen eines Screenshots, umfasst die Verwendung des Readback-Heaps.
Fence-Based Ressourcenverwaltung
Zeigt, wie Sie die Lebensdauer von Ressourcendaten verwalten, indem Sie den GPU-Fortschritt über Zäune nachverfolgen. Speicher kann effektiv mit Zaunen wiederverwendet werden, um die Verfügbarkeit von freiem Speicherplatz im Arbeitsspeicher, z. B. in einer Ringpufferimplementierung für einen Upload-Heap, sorgfältig zu verwalten.

Speicherverwaltung