Gaming-API: DirectStorage 1.2 nimmt Rücksicht auf langsame HDDs

Michael Günsch
94 Kommentare
Gaming-API: DirectStorage 1.2 nimmt Rücksicht auf langsame HDDs
Bild: Pixabay

Microsoft hat DirectStorage 1.2 veröffentlicht. Mit der neuen Version der Low-Level-API für schnellere Datentransfers in Spielen wurde eine neue Funktion für langsame HDDs eingeführt und die Leistung verbessert. Spiele, die DirectStorage nutzen, bleiben aber Mangelware.

Das bringt DirectStorage 1.2 mit

Bisher werden über DirectStorage Spieldateien im ungepufferten Modus (unbuffered) geöffnet. Das verhindert unnötige Kopien und bringt die Dateien schnellstmöglich zur GPU, erklärt Microsoft. Das gilt zumindest für die schnelle SSD-Technik. Werden aber langsame HDDs eingesetzt, könne die Dateipufferungsfunktion des Betriebssystems Vorteile bieten und die langen Suchzeiten maskieren, heißt es im Microsoft-Blog.

Daher wird mit DirectStorage 1.2 den Entwicklern die Möglichkeit geboten, DirectStorage so einzustellen, dass Dateien im gepufferten Modus geöffnet werden. Da dies bei SSDs wiederum nicht angebracht ist, sollte dies nur bei HDDs aktiviert werden. Wann diese Einstellung genutzt wird, obliege in der Verantwortung der Entwickler. Ob ein Spiel den Massenspeicher-Typ automatisch erkennt und die Einstellung entsprechend setzt oder aber im Spielmenü eine Einstellung vorgenommen werden muss, bleibt abzuwarten. Relevant dürfte dies aber ohnehin für immer weniger Spieler sein, denn die meisten dürften inzwischen auf SSDs umgestiegen sein.

It is the title’s responsibility to know when to use this setting. This feature should only be enabled for slower HDD drives that will benefit from the OS file buffering features.

Die zweite neue Funktion liefert eine Ausgabe des verwendeten Dekomprimierungspfades, der von den Fähigkeiten der jeweiligen GPU abhängt. Auf Basis dieser Information könne die Standardeinstellung für die Texturauflösung entsprechend gesetzt werden.

Ferner werden weitere Leistungsverbesserungen versprochen, indem Kopien nach der GPU-Dekomprimierung in die Rechenwarteschlange für GPUs verschoben werden.

Das vollständige Changelog für DirectStorage 1.2 inklusive einer Liste der behobenen Fehler liest sich wie folgt:

New Features
  • Add support for enabling buffered file IO for use on HDDs that may benefit from OS file caching behaviors.
  • Add IDStorageQueue2::GetCompressionSupport API to indicate what path the DirectStorage runtime will take when decompressing a supported GPU decompression format.
  • Update dstorage.h and dstorageerr.h to be covered by the MIT License.
  • Add Microsoft.Direct3D.DirectStorage.winmd, to ease generation of non-C++ bindings to the API.
Bug Fixes
  • Add "Reserved1" field to DSTORAGE_REQUEST_OPTIONS. This makes the in-memory layout of the structure more explicit, but doesn't actually change the layout from previous versions.
  • Fix DSTORAGE_REQUEST_DESTINATION_TEXTURE_REGION for 3D textures.
  • Fix scheduling issue that manifested when transferring uncompressed data from memory to buffers
Performance improvements
  • Move the copy after GPU decompression onto the compute queue for GPUs where this is faster.

Nur ein Spiel nutzt bisher DirectStorage

Nachdem DirectStorage 1.0 im März 2022 veröffentlicht wurde, folgte im Oktober 2022 Version 1.1 inklusive der Dekomprimierung von Spieledaten auf der GPU.

Spiele, die die API bereits nutzen, sind aber noch rar gesät. Nach Kenntnis der Redaktion ist Forspoken (Test) weiterhin der einzige erhältliche Titel, der DirectStorage verwendet. Die Entdeckung der dstorage.dll in den Dateien der Beta-Version von Diablo IV lässt aber vermuten, dass schon bald ein Hochkaräter aufspringt. Blizzards RPG-Blockbuster erscheint am 6. Juni 2023.