News Microsoft DirectStorage 1.1: Die GPU dekomprimiert Spieldateien rasant

Termy schrieb:
So interessant die Technik ist, so sehr hoffe ich dabei vor allem, dass das ganze die Wine/Proton-Kompatibilitaet der Spiele nicht negativ beeinflusst!

Zuzutrauen wäre es Microsoft.
Aber wen interessiert das wirklich? Man kann zwar jetzt seit Jahren quasi alles auf Linux spielen, dennoch interessiert das kaum jemanden, obwohl das immer DAS Kriterium war.
 
S.Kara schrieb:
Weil dort die CPU die Daten dekomprimiert.

Der Vorteil von DS gegenüber eine CPU mit vielen Kernen dürfte kaum spürbar sein.
x3 Boost in einer Demo ist kaum merkbar in der Praxis.

Naja du sparst dir immer noch den Weg über die CPU. Eine gewissen Vorteil bietet es also in jedem Fall.

Sieht man ja auch bei den Konsolen, dort gibt es bei First Party Titeln ja praktisch keine Ladezeiten mehr. Ratchet and Clank, das bald kommende GoW…
 
The_Master schrieb:
Jetzt geht es ja noch immer über den RAM BUS!
geht es in zukunft auch immer noch, da die daten erst durch den ntfs-treiber müssen. es gibt kein dma zwischen ssd und gpu.

übrigens hat sich microsoft in dem vergleich einer der langsamsten algorithmen ausgesucht. andere sind da wesentlich schneller (kann man mit lzbench auch selbst probieren). man beachte, dass die werte im screenshot singlecore sind, d.h. ich könnte meine 12GB vram mit nur einem kern in 1s füllen. das laden der texturen wird also kein besonders dringendes problem sein, sonst hätte directstorage schon längst verwendung gefunden.
 

Anhänge

  • 1665750494565.png
    1665750494565.png
    63,4 KB · Aufrufe: 293
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Nagilum99, Pumpi, Tanzmusikus und eine weitere Person
S.Kara schrieb:
Der Vorteil von DS gegenüber eine CPU mit vielen Kernen dürfte kaum spürbar sein.
x3 Boost in so einer Demo ist kaum merkbar in der Praxis.
Die Demo ist wahrscheinlich wirklich ein optimaler Fall. GDflate über Computeshader abzuwickeln wird aber wahrscheinlich wirklich viel schneller sein als über eine CPU, die zlib bearbeiten muss. Die Kompressionsraten werden nicht die selben sein, aber das ist im Endeffekt auch nicht all zu wichtig, wenn eine SSD >1GB/s liefern kann.
Ergänzung ()

0x8100 schrieb:
geht es in zukunft auch immer noch, da die daten erst nurch den ntfs-treiber müssen. es gibt kein dma zwischen ssd und gpu.
[...]
DirectStorage ist darauf ausgelegt, dass es DMA zwischen GPU und SSD geben kann. NTFS ist jetzt nicht so kompliziert, dass es die GPU nicht lesen könnte (Schreiben ist ein anderes Thema). Die Vorraussetzung ist derzeit aber auch, dass keine Kompression und keine Verschlüsselung auf Ebene des Dateisystems oder darunter stattfindet.

edit:
Ich frage mich immer noch, wie DS bzw der Kernel Schreibvorgänge seitens der GPU abfangen will. DS sieht ja vor, dass es DMA gibt, vorbei an allen herkömmlichen Absicherungen. Da musste es also irgendwie Memory Tagging für den SSD-Controller geben?!
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: yummycandy
Beelzebot schrieb:
Aber wen interessiert das wirklich? Man kann zwar jetzt seit Jahren quasi alles auf Linux spielen, dennoch interessiert das kaum jemanden, obwohl das immer DAS Kriterium war.
Leider nicht - die Aussage gilt zwar fuer Singleplayertitel inzwischen tatsaechlich, Multiplayer mit Anticheat sieht aber immer noch oefter mal duester aus. Und 'seit Jahren' ist auch nur bedingt zu unterschreiben in meinen Augen - ja, es ist schon seit Jahren ganz gut moeglich, wird auch immer besser. Aber grade die letzten 2, 3 Jahre haben da schon sehr viel Verbesserung gesehen, sei es Wine/Proton, Zusatzsoftware wie Lutirs/Bottles/Heroic etc oder Treiberunterstuetzung in der Peripherie...
 
  • Gefällt mir
Reaktionen: iron-man
Die wichtigste Frage ist doch: Wann kann ich meine SSD direkt auf die Graka bauen? :D
 
  • Gefällt mir
Reaktionen: Caffenicotiak, Icke-ffm und willriker
Chilisidian schrieb:
Super gut, dass da nun Bewegung reinkommt! Aktuelle Spiele profitieren von einer NVMe gegenüber einer SATA SSD noch viel zu wenig auf dem PC.
Ja da sind die Konsolen weit vorne auch wenn die PCler dass nicht gerne hören. 😉
 
  • Gefällt mir
Reaktionen: Caffenicotiak und Illithide
@MichaG
Hui mehr zu testen...
Macht cb sich die Arbeit und vergleicht das mal?
Windows 10 und 11.
Ssd, nvme 3.0, 4.0 und vielleicht ja dann 5.0?

Mfg
 
  • Gefällt mir
Reaktionen: Caffenicotiak und Qyxes
The_Master schrieb:
OK freue mich darauf das aus einer VRAM GPU nun ein Hardware Monster wird (Wird im Video so erklärt).

Dann brauchen wir keine 3090ti oder 4090 mit 24gb Vram.

Wird so nie und nimmer passieren da es viel zu viel aufwand wäre für die Entwickler.

--------------------------------------------------------------------------------------------------

Aber was mich eher wundert ist die Tatsache das sie nicht gleich den noch direkteren Weg gehen.

Also:

SSD/NVME -> GPU

Jetzt geht es ja noch immer über den RAM BUS!

Ich habe eine Vermutung -> Sicherheit. Sprich die GPU müsste dann lese/ schreibrechte auf das Dateisystem bekommen. (Oder so Ähnlich)

Der Weg ist nach wie vor derselbe. Ein Workflow-Diagramm ist kein Bus-Diagramm.

Zwischen NVMe und GPU sind nach wie vor CPU, RAM und Chipsatz.
Der Grund ist ganz simpel. Die Hardware ist so aufgebaut.
 
Endlich, auf den Shizzle warte ich schon Ewigkeiten.

Dann werde ich auch auf eine PCIe 5.0 NVMe umsteigen. Immer ab dafür.

Wenn der PC schon so teuer wird, sollte zumindest auch gewährleistet sein, dass hier ordentlich was geliefert wird.
 
brubbelmichi schrieb:
Die wichtigste Frage ist doch: Wann kann ich meine SSD direkt auf die Graka bauen? :D
Hab ich mich gerade auch gefragt.

So ne Art NVMe Cache direkt auf der Grafikkarte, dann bräuchte man die CPU dafür fast überhaupt nicht.
 
  • Gefällt mir
Reaktionen: brubbelmichi
Piktogramm schrieb:
Ich frage mich immer noch, wie DS bzw der Kernel Schreibvorgänge seitens der GPU abfangen will. DS sieht ja vor, dass es DMA gibt, vorbei an allen herkömmlichen Absicherungen.
da es zur zeit kein dma gibt, stellt sich die frage nicht :) ich glaube, so weit haben sie das noch nicht gedacht.
 
Das ist dann der Schritt
Martinipi schrieb:
Da die GPU direkt auf die Datenmengen zugreift würde ich eher schätzen, dass die benötigte Bandbreite eher steigt statt sinkt... Nur eben nicht zur CPU, sondern zur SSD.
Langfristig mag das sein, aber das ergibt sich erst aus dem Anstieg der Datenmengen insgesamt.

Technisch laufen die Daten bei DirectStorage 1.1 im Schritt "GPU Copy" komprimiert über die PCIe-Anbindung, womit für die gleiche Datenmenge die benötigte Bandbreite sinkt. Es reichen also weniger Lanes.

Ein weiterer Effekt ist übrigens, dass man mit einem derart schnellen Zugriff auf den Massenspeicher künftig die auf einmal benötigten Texturdaten reduzieren kann. Warum sollte man alles für den aktuellen Level laden, wenn man die Texturen für den Abschnitt hinter der Tür auch problemlos in einer Zehntelsekunde nachladen kann, und der Spieler bemerkt gar nicht, dass während des Öffnens der Tür erst die Daten für den Teil dahinter geholt werden? Die Technik hat also das Potenzial, bei gleich komplexen Spielen künftig auch mit weniger VRAM auszukommen.

Und ja, nochmal, langfristig geht dann beides wieder nach oben, aber erst mit deutlich komplexeren Spielen als heute.
 
  • Gefällt mir
Reaktionen: Caffenicotiak, nille02, Tanzmusikus und eine weitere Person
Und wie erfahre ich welche Shader Version meine Karte hat ??
 
brubbelmichi schrieb:
Wann kann ich meine SSD direkt auf die Graka bauen?
GPUs mit SSD gibt es ja schon, aber im professionellen Markt (Radeon Pro SSG). Und konzeptionell geht der Infinity Cache bei RDNA ja auch schon in die Richtung, die Bus-Zugriffe drastisch zu reduzieren. Der deutlich größere L2-Cache bei der RTX-4000-Serie geht ebenfalls in diese Richtung.
 
  • Gefällt mir
Reaktionen: Nagilum99 und Mcr-King
Die Frage ist, welche Implementation von CPU-basiertem Deflate Microsoft hier wählte.

zlib-ng zB würde die Werte für den CPU-Benchmark halbieren - angenommen Microsoft verwendete zlib-madler, die Standardimplementation.
zlib-cloudflare wäre noch einmal 1/4 schneller als zlib-ng.
libdeflate dürfte noch einmal ~10% schneller sein.
zlib-dougallj wäre vielleicht noch einmal ~2-5% schneller.

Intel zlib müsste man ebenfalls in Betracht ziehen.
 
Martinipi schrieb:
Da die GPU direkt auf die Datenmengen zugreift würde ich eher schätzen, dass die benötigte Bandbreite eher steigt statt sinkt... Nur eben nicht zur CPU, sondern zur SSD.

Zu Direct Storage gehört auch Sampler Feedback Streaming.

Direct Storage erhöht auf der einen Seite den Datendurchsatz massiv bei gleichzeitig stark reduzierter CPU Last, durch Dekomprimierung auf der GPU.
Auf der anderen Seite sorgt SFS dafür, dass die benötigte Datenmenge stark reduziert wird, indem nur die Teile von Texturen und Assets übertragen werden, die gerade benötigt werden.
Letzteres spart sowohl Bandbreite als auch VRAM Kapazitäten. Damit dürfte die Anforderung an die Bandbreite und SSD Geschwindigkeit in der Praxis zumindest für die nächsten Jahre überraschend Gering ausfallen.


Man geht das Problem also aus zwei Richtungen an, wodurch in dem Bereich schon drastische Verbesserungen zu erwarten sind.
Ladezeiten sind da ja nur die Spitze des Eisbergs. Interessant wirds, wenn das Potenzial mal für das Streming von Daten innerhalb der Spielwelt genutzt wird. Gerade da erwarte ich große Sprünge (viel mehr Details in Spielwelten). Und genau dafür wurde das ganze ja auch entwickelt.

Ob ein Spiel jetzt in 0,5 oder 2 sec lädt juckt ja am Ende keinen. Und dafür ist auch ken Direct Storage nötig, wenn Spiele einfach nur mal mehr als einen Thread zum laden nutzen würden. Auch Spider-Man am PC lädt ohne Direct Storage in 2-3 Sekunden. Wie gesagt, dafür brauchts kein Direct Storage. In Zukunft wird man damit viel mehr machen, als nur Ladescreens abzuschaffen.


Aber man muss schon sagen, der Übergang zu echten Next-gen Games dauert diesmal schon extrem lange.
Liegt aber wohl auch an der bisher schlechten Verfügbarkeit von neuen Konsolen und den hohen Preisen/Schlechte Verfügbarkeit von Grafikkarten in den letzten zwei Jahren. Hoffentlich gehts dann 2023 mal los mit solchen Spielen. Sonst wird die Hardware irgendwann ausgetauscht, noch bevor sie richtig genutzt wurde.
 
  • Gefällt mir
Reaktionen: Caffenicotiak, M@tze, -Stealth- und 6 andere
brubbelmichi schrieb:
Die wichtigste Frage ist doch: Wann kann ich meine SSD direkt auf die Graka bauen? :D

flappes schrieb:
Hab ich mich gerade auch gefragt.

So ne Art NVMe Cache direkt auf der Grafikkarte, dann bräuchte man die CPU dafür fast überhaupt nicht.
Gibts schon seit einigen Jahren, scheint sich für Gaming Produkte wohl (noch) nicht zu lohnen sonst hätte man seitdem in dem Segment sicher was auf dem Markt geworfen.

https://www.computerbase.de/2016-07/amd-radeon-pro-ssg-grafikkarte-m2-ssd/
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Caffenicotiak und Tsu
0x8100 schrieb:
da es zur zeit kein dma gibt, stellt sich die frage nicht :) ich glaube, so weit haben sie das noch nicht gedacht.
Ich hege eine Abneigung gegen Windows und viele Dinge die Microsoft tut, aber für doof halte ich die Entwickler von Kernel und systemnahen APIs nicht. Die sind bei Ms oftmals sehr brauchbar. Die haben sich schon angeschaut was Nvidias GPUdirect-sotrage kann, was NVMe-oF / rDMA macht und werden nicht so deppert sein die offensichtlichen Möglichkeiten von DMA zu "übersehen", während sie es auf der Xbox implementiert zu haben scheinen[1]

[1] Ich weiß es nicht genau, die Dokumentation braucht einen Dev-Account mit mehr Zugriffsrechten als mein alter Account als Studententagen hat und der Inhalt scheint nochmals unter NDA zu sein :/

Ich bilde mir auch ein irgendwo ein Schaubild von Ms gesehen zu haben, wo das Ganze mit DMA geplant war. Ich finde es aber nicht mehr..
 
  • Gefällt mir
Reaktionen: Caffenicotiak und Tanzmusikus
Zurück
Oben