Microsoft hat am 1. Juli 2025 DirectStorage 1.3 veröffentlicht und liefert die Bibliothek über das NuGet-Paket Microsoft.Direct3D.DirectStorage in der Version 1.3.0 aus. Das Update dreht sich um zwei Erweiterungen der API: die neue Funktion EnqueueRequests, die I/O-Anfragen gebündelt abgibt, und einen Zieltyp, der mehrere aufeinanderfolgende Subresources in eine einzelne D3D12-Ressource schreibt. Beide sollen den Datentransfer zwischen Speichermedium und Grafikspeicher genauer steuerbar machen. Wer die Hintergründe zur Technik sucht, findet sie in der Berichterstattung zu DirectStorage.
Was EnqueueRequests und der neue Zieltyp leisten
EnqueueRequests fasst mehrere Anfragen in einem einzigen Aufruf zusammen und synchronisiert sie über einen D3D12-Fence. Entwickler können das I/O-Scheduling dadurch enger an die Grafik-Pipeline binden, weil sich der Abschluss der Datenübertragung direkt mit dem Rendering-Ablauf abstimmen lässt. Dazu kommt der Zieltyp DSTORAGE_DESTINATION_MULTIPLE_SUBRESOURCES_RANGE. Er kopiert zusammenhängende Subresources in eine D3D12-Ressource und senkt dabei den CPU-Aufwand, was sich vor allem beim Befuellen der MIP-Stufen von Texturen bemerkbar macht. Microsoft legt ein Beispiel bei, das EnqueueRequests mit dem neuen Zieltyp für die MIP-Befuellung kombiniert. Der Quellcode liegt im offiziellen Repository unter github.com/microsoft/DirectStorage.
Korrekturen und Anpassungen im Build-Verhalten
Neben den API-Erweiterungen räumt DirectStorage 1.3 mehrere Detailprobleme aus. Die integrierte CPU-Dekompression scheitert bei ungueltigen GDeflate-Daten jetzt korrekt, und das Verhalten von DSTORAGE_DESTINATION_TILES wurde für Ressourcen mit unterschiedlichen Breiten- und Höhenmassen berichtigt. Auf der Build-Seite heisst die MSBuild-Eigenschaft NativeBuildDirectory nun DirectStorageNativeBuildDirectory, was Konflikte zwischen Paketen verhindern soll. Die Pfad-Eigenschaften halten sich außerdem an die MSBuild-Konventionen. Rückfragen nimmt Microsoft über die Adresse askwindstorage@microsoft.com und den Discord-Kanal zur Bibliothek entgegen. Verantwortlich für die Veröffentlichung ist Clarke Rahrig aus dem DirectX-Team.