Was ist Microsoft DirectStorage? Wie macht es das Spielen schneller?
In der Vergangenheit waren Spiele nicht zu komplex. Die spielbaren Levels waren eher klein, die Charaktere waren wenige und die Texturen waren einfach. Im Laufe der Jahre haben sich die Spiele exponentiell verbessert. Von riesigen offenen Welten bis hin zu sehr detaillierten Charakteren können Spiele oft fotorealistisch aussehen.
All diese Innovationen sind jedoch mit Kosten verbunden.
Moderne Spiele benötigen mehrere zehn Gigabyte Daten, um diese schönen Charaktere und Umgebungen zu rendern. Einige Tools, die Spieleentwickler verwenden, wurden jedoch nicht für die Verarbeitung einer so großen Datenmenge entwickelt, dass ein Leistungsengpass entsteht.
Hier kommt Microsoft DirectStorage ins Spiel.
Warum brauchen wir Microsoft DirectStorage?
Bevor wir uns mit DirectStorage befassen, wollen wir uns ansehen, wie die aktuellen Methoden des Daten-Streamings funktionieren.
Wenn Sie ein Spiel starten, werden Daten wie Texturen, Charaktermodelle und Audio benötigt, um auf dem Bildschirm angezeigt zu werden. Diese Daten werden wie eine Festplatte auf einem Speichergerät gespeichert. Das Spiel fordert diese Daten über Softwaretools an, die als Application Programming Interfaces (APIs) bezeichnet werden.
Nachdem das Spiel die Daten über eine API angefordert hat, ruft es die Daten vom Speichergerät ab und legt sie im System-RAM ab, bevor sie zum Rendern an die GPU weitergeleitet werden.
Wenn Sie ein Spiel herunterladen, werden alle Daten komprimiert, um so viel Speicherplatz wie möglich zu sparen. GPUs können jedoch keine komprimierten Daten verwenden. Daher muss es dekomprimiert werden.
Sobald sich die Daten im RAM befinden, werden sie zur Dekomprimierung an die CPU gesendet.
Nach der Dekomprimierung werden die vom Spiel angeforderten Daten in den VRAM der GPU kopiert.
Schließlich rendert die GPU diese Daten in wunderschöne Grafiken, die wir auf dem Display sehen.
Diese Streaming-Methode weist nun zwei Hauptnachteile auf.
Erstens nimmt die Dekomprimierung von Daten viel Zeit in Anspruch. Dies führt nicht nur zu längeren Ladezeiten des Spiels, sondern macht die CPU auch für andere Aufgaben nicht verfügbar. Und da die CPU die meiste Zeit mit Dekomprimierung beschäftigt ist, kann sie nicht mit den Anforderungen der GPU Schritt halten, was zu niedrigeren Bildraten führt.
Zweitens nutzen vorhandene Speicher-APIs die moderne Speicherhardware nicht voll aus. Zum Beispiel waren Speichergeräte früher langsame mechanische Festplatten, die nicht die Geschwindigkeit und Bandbreite hatten, um Gigabyte Daten pro Sekunde zu senden. Daher wurden die APIs so geschrieben, dass nur eine begrenzte Datenmenge gestreamt wird.
Entwickler, die diese alten APIs heute verwenden, müssen dieses begrenzte Daten-Streaming-Budget mithilfe von Methoden wie der Reduzierung der Szenenkomplexität umgehen, um den Bedarf an vielen Assets zu minimieren, nur Texturen und die Umgebung zu rendern, die der Player sehen kann, und die Ladezeiten erhöhen, um dies sicherzustellen Das Spiel hat genug Zeit, um alle Assets vor dem Start zu laden.
Diese Methoden funktionieren theoretisch besser als in der Praxis. Denn selbst mit den schnellsten Speicherlaufwerken auf dem Markt haben die Spiele immer noch lange Ladezeiten, Textur-Pop-In und enge Zugentfernungen.
DirectStorage soll Entwicklern helfen, diese Probleme durch einen besseren Daten-Streaming-Prozess zu lösen.
Wie funktioniert Microsoft DirectStorage?
Microsoft DirectStorage ist eine Reihe von Speicher-APIs, mit denen alles behoben werden soll, was mit den aktuellen APIs nicht stimmt.
Wenn ein Entwickler DirectStorage-APIs aufruft, um Daten vom Speichergerät anzufordern, ist der Prozess mit zwei Hauptunterschieden nahezu identisch.
Erstens gibt es nach dem Kopieren der Daten in den RAM keine CPU-Dekomprimierungsroutine. Die Daten werden nicht in die CPU kopiert und dekomprimiert. Im Gegensatz zu alten APIs werden die komprimierten Daten direkt an die GPU gesendet.
Zweitens nutzen die APIs die superschnelle NVMe-SSD-Hardware voll aus. DirectStorage benötigt eine NVMe-SSD, da NVMe-SSDs eine exponentiell höhere Bandbreite als mechanische Festplatten haben. DirectStorage verwendet die gesamte Bandbreite dieser SSDs in der Größenordnung von GB / s, um viele Daten gleichzeitig zu lesen. Dies ist anders als bei älteren APIs, die Daten langsam und in der Größenordnung von MB / s lesen.
Die GPU empfängt also viele komprimierte Daten gleichzeitig und muss vor dem Rendern nicht warten, bis weitere Daten eintreffen. Sie müssen nur noch die Daten dekomprimieren, die die GPU rendern soll.
DirectStorage-Packs mit modernsten GPU-Dekomprimierungstechniken. GPUs dekomprimieren Daten mit einer viel höheren Rate als CPUs. Sie können diese Hochgeschwindigkeitsdekomprimierung auch für eine lange Zeit aufrechterhalten, die eine CPU nicht kann. Dies macht eine GPU zu einem Hauptkandidaten für die Zukunft der Datendekomprimierung.
Durch das Abladen der Dekomprimierung auf die GPU wird die CPU auch für andere Aufgaben wie die Verarbeitung von Audio und die Vorbereitung der anzuzeigenden Frames frei.
Wie verbessert DirectStorage Spiele?
Da DirectStorage Ihre GPU unglaublich schnell mit vielen Daten versorgt, kann es Ihr Spielerlebnis revolutionieren.
Erstens, wenn die Entwickler ihre Spiele mit DirectStorage erstellen, haben Spiele nahezu sofortige Ladezeiten. Sie müssen also nicht warten, um sich durch einen langen Ladebildschirm zu setzen und in Ihr Lieblingsspiel zu springen.
Zweitens erhöht DirectStorage die Leistung, da die CPU für andere Aufgaben freigegeben wird. Mit anderen Worten, Sie erhalten bessere Bildraten, auch wenn Sie Ihre Hardware nicht aktualisiert haben .
Schließlich werden Spiele mit DirectStorage expansivere und komplexere Welten mit minimalem Textur-Pop-In haben. Auf diese Weise können die Entwickler die nächste Generation von Spielen entwickeln, ohne ihre kreative Vision aufgrund von Bedenken hinsichtlich des Daten-Streamings zu beeinträchtigen.
DirectStorage kann das Spielen endgültig ändern, wenn die Entwickler dies zulassen
Microsoft hat DirectStorage stark vorangetrieben. Und das zu Recht. Die alten Methoden des Daten-Streamings sind ein Engpass, der Spiele zurückgehalten hat.
Wenn es DirectStorage gelingt, zum Industriestandard zu werden, tritt das Spielen in eine neue Ära des Eintauchens ein.
Wenn Microsoft DirectStorage perfektionieren und die Entwickler davon überzeugen kann, dass es sich lohnt, ihre Zeit in es zu investieren, können Gamer endlich frei von Belästigungen wie Ladezeiten und Textur-Pop-In sein.
Hoffen wir also, dass wir den Tag sehen, an dem es keine falschen Aufzugsfahrten, keine endlosen Treppen und keine schnelle Fahrt gibt, die eine Million Jahre dauert.