DirectStorage: PC-Spiele erben SSD-Datenstreaming der Xbox Series X
Nvidias RTX IO baut auf Microsofts API auf: GeForce-RTX-3000-Grafikkarten streamen Daten von einer PCIe-SSD direkt in den Grafik-RAM für komplexere 3D-Welten.
Microsoft erneuert die Speicherverwaltung seiner DirectX-Spiele-APIs, um mit den Übertragungsraten moderner PCI-Express-SSDs mithalten zu können. Haben Entwicklerstudios Spiele bisher mit langsamen HDDs im Hinterkopf entworfen, sollen mit der neuen Konsolengeneration PCIe-SSDs in den Fokus rücken. DirectStorage ist von der "Velocity-Architektur" der Xbox Series X inspiriert, die Daten von einer Custom-PCIe-4.0-SSD ohne Umweg über den Prozessor in den Grafikspeicher streamen kann.
Microsoft schreibt im Blog-Beitrag zu DirectStorage, dass Spiele 3D-Assets wie Texturen bisher üblicherweise mit etwa 50 MByte/s vom Datenträger in den Grafikspeicher laden. GPUs halten massenweise Daten vor, um den Flaschenhals zu umgehen.
Flaschenhals IOPS
Prozessoren schicken bisher für jeden Datenblock eine I/O-Anfrage an den Datenträger und warten daraufhin den Kopiervorgang ab, bis eine neue Anfrage verschickt wird. Das funktioniert bei einer HDD mit einigen Hundert Input/Output-Operationen pro Sekunde (IOPS), führt bei SSDs mit Zehntausenden IOPS und mehr aber zu einem signifikanten Overhead, der CPU-Leistung frisst.
DirectStorage reduziert diesen Overhead mit Hilfe des NVMe-Protokolls von PCIe-SSDs, das sowohl parallele als auch gebündelte I/O-Anfragen von Prozessor zu SSD-Controller erlaubt.
x
RTX IO mit GPU-Dekomprimierung
Nvidias RTX IO baut auf Microsofts DirectStorage-API auf, geht aber noch einen Schritt weiter: GeForce-RTX-Grafikkarten können mit minimalem Eingriff durch den Prozessor komprimierte Daten von einer PCIe-SSD empfangen und selbst entpacken, was die CPU zusätzlich entlastet. In der Ankündigung spricht Nvidia nur allgemein von RTX-GPUs, schließt die 2000er-Serie also nicht aus.
Microsoft lässt PC-Nutzer mit HDDs mit DirectStorage nicht links liegen. Allerdings müssen Spiele ohne flotte SSD gegebenenfalls Daten zusammenfassen, um I/O-Anfragen zu sparen. So wird beispielsweise eine komplette Textur statt nur eines sichtbaren Teils geladen, was Übertragungsrate kostet. Zudem profitieren solche Nutzer nicht vom schnelleren Daten-Streaming, müssen also mit potenziell stärkeren Pop-in-Effekten wie aufploppenden Bäumen leben.
(mma)