DirectStorage 1.3 verfügbar: EnqueueRequests-API erlaubt Batching und D3D12-Fence-Synchronisation

Das DirectX-Team hat DirectStorage 1.3 am 1. Juli 2025 veröffentlicht. Die Version steht als NuGet-Paket in der Fassung 1.3.0 bereit und erweitert die Programmierschnittstelle für das Asset-Streaming auf Windows und Xbox um die neue EnqueueRequests-API. Diese gibt Entwicklern feinere Kontrolle darüber, wie Datenanfragen abgesetzt und mit Grafik-Workloads abgestimmt werden.

EnqueueRequests bündelt Anfragen und synchronisiert über D3D12-Fences

Mit EnqueueRequests lassen sich mehrere Datenanfragen in einem einzigen Aufruf bündeln und über einen D3D12-Fence synchronisieren. Dazu führt die API neue Flags ein, mit denen DirectStorage auf einen Fence wartet, bevor GPU-Arbeit oder ein Datenzugriff erfolgt. So lässt sich das Laden von Assets präziser an den Ablauf der Grafik-Pipeline koppeln, statt einzelne Anfragen unabhängig voneinander zu verwalten. Die Bündelung mehrerer Requests in einem Aufruf reduziert zugleich den Verwaltungsaufwand auf der CPU-Seite.

Für die Abstimmung zwischen Datentransfer und Rendering ist die Fence-Synchronisation zentral. Bislang mussten Entwickler die zeitliche Reihenfolge zwischen geladenen Daten und deren Verwendung in Shadern oder Kopiervorgängen weitgehend selbst koordinieren. Wie eng moderne Speicher- und Rendering-Techniken inzwischen verzahnt sind, zeigt sich gerade an solchen Schnittstellen. Die direkte Anbindung an D3D12-Fences verlagert diese Synchronisation in die DirectStorage-Laufzeit und ermöglicht es, Datenanfragen gezielt an Grafik-Workloads zu koppeln.

Neuer Zieltyp für zusammenhängende Subresources und MIP-Texturen

Ergänzend führt die Version den Zieltyp DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES_RANGE ein. Er erlaubt das Kopieren eines Bereichs zusammenhängender Subresources in eine D3D12-Ressource und eignet sich damit besonders für das Beschreiben einzelner oder ganzer Bereiche von Ziel-MIPs in Texturen. In Kombination mit EnqueueRequests senkt der Zieltyp laut DirectX-Team den CPU-Overhead und verbessert die Performance beim Laden von Assets. Ein neues Beispiel im DirectStorage-Repository auf GitHub zeigt den Einsatz von EnqueueRequests beim Befüllen von MIP-Texturen.

Daneben enthält die Aktualisierung mehrere kleinere Korrekturen. Die integrierte CPU-Dekompression bricht nun bei ungültigen oder beschädigten GDeflate-Daten ab. Ein Fehler bei DSTORAGE_DESTINATION_TILES für Ressourcen mit abweichender Breite und Höhe wurde behoben. Zudem wurde die MSBuild-Eigenschaft in DirectStorageNativeBuildDirectory umbenannt, um Kollisionen zwischen Paketen zu vermeiden.

Weitere News

Weitere News

Kommentieren Sie den Artikel

Bitte geben Sie Ihren Kommentar ein!
Bitte geben Sie hier Ihren Namen ein