Piktogramm schrieb:
@M@tze
Es würde mich wundern, wenn in realen Anwendungen das Ganze derart feingranular eingesetzt wird. Genauso wie die Techdemo alles aus dem (Grafik-)Speicher zu werfen scheint, was für ein paar Bilder nicht gebraucht wird. Normalerweise nutzt man ja schon Caching, einfach weil Arbeitsspeicher immer schneller und Festspeicher tendenziell immer ein Flaschenhals ist.
Schön ist der Ansatz allemal.
Das Caching braucht man ja aktuell nur, weil die HDDs bisher viel zu lahm waren um just in Time Daten nachzuliefern. Die SSDs sind da eben schnell genug.
Zudem brauchst du den schnellen VRAM ja ansonsten primär nicht dazu, um da irgendwelche Daten zu cachen, sondern die Hauptaufgabe ist ja in erster Linie dass der VRAM der "Arbeits"speicher für die GPU ist.
Also damit arbeitet die GPU ja direkt und aktiv und muss dementsprechend schnell angebunden sein. Mit dem Caching von Daten die nicht aktiv gebraucht werden, zweckentfremdend man den VRAM ja auch aktuell ein Stückweit.
Wenn man nicht aktiv genutzte Daten aber schnell wieder aus dem VRAM rauswirft und sich das Caching spart, haben im VRAM eben künftig mehr aktiv genutzte Daten platz. Sprich man kann mit einer gegebenen Menge VRAM aufwändigere bzw. mehr Assets verarbeiten als zuvor.
Klar könnte man langsamen Speicher auch weiterhin einfach durch mehr VRAM kompensieren. Aber um das zu erreichen, was Direct Storage und Sampler Feedback Streaming in der Praxis an Durchsatz erreichen müsste man wohl auf GPUs mit 64 GB VRAM und mehr setzen. Das ist halt einfach nicht wirtschaftlich.
Der Ansatz mit Direct Storage und SFS ist natürlich aufwändig und komplex, aber ich denke, dass dadurch die Ressourcen unterm Strich deutlich effizienter genutzt werden und eben auch endlich die SSDs ihren sinnvollen Beitrag leisten können. Potenzial das bisher eben komplett ungenutzt bleib.
Am Ende schlägt man mehrere Fliegen mit einer Klappe. Man behebt das Bottleneck zum Storage, über die CPU was schon seit langem ein Problem ist, man umgeht die VRAM Knappheit und man kann die Geschwindigkeit von SSDs eben sinnvoll nutzen.
Mich würde mal interessieren, ob die Unreal Engine 5 auch Direct Storage und SFS nutzt. Soweit ich das verstanden habe machen die praktisch das gleiche, nennen es aber "Textur Virtualisierung" oder "Geometrie Virtualisierung". Da wird dann eben auch nur noch das in den Speicher geladen, was wirklich aktiv gerade im Moment zur Verarbeitung auf der GPU gebraucht wird, was eben zur Folge hat, dass man irrsinnig große Assets performant verarbeiten kann, weil man sie nicht wirklich vollständig laden muss. Die Anwendung "tut" nur so bzw. virtualisiert den Vorgang eben. Wenn ich jetzt nur wüsste, wo ich das gelesen habe...
Auf jeden Fall ein wahnsinnig spannendes Thema.