Konsolen haben immer noch einen großen Vorteil, der dem PC-Gaming schadet
Der Tod des PC-Gamings . Das war in den letzten Wochen das aktuelle Thema, und ein Port nach dem anderen kam in katastrophalem Zustand auf den PC. PC-Gaming ist nicht tot, aber wenn sich dieser Trend fortsetzt, ist es schwer zu empfehlen, sich eine neue Veröffentlichung für den PC zuzulegen, zumindest bevor sie eine Reihe unvermeidlicher Patches erhält.
Ich wünschte, ich könnte eine einzige Lösung für die Probleme bieten, mit denen PC-Spiele konfrontiert sind, aber das kann ich nicht. Die Liste ist riesig. Aber es gibt einen Schwerpunkt, der die Situation erheblich verbessern könnte, und dort haben Konsolen immer noch einen Vorsprung gegenüber PCs.
Die Quelle des Stotterns
Im Grunde gibt es eine Sache, die in Ihren Spielen zu Rucklern führt: ein Anstieg der Renderzeit. Irgendetwas hat die Leitung für einen kurzen Moment verstopft, und während das geklärt ist, gibt es eine Zeitlücke zwischen der Anzeige eines Bildes auf Ihrem Bildschirm und dem nächsten. Das ist ein Stottern.
Aber was verstopft die Rohre? In vielen Fällen kommt es auf dem PC zu Stottern bei der Shader-Kompilierung. Hier muss die CPU Anweisungen (Shader) an die GPU senden und diese von Softwarecode in Hardwarecode übersetzen. Dies ist die Ursache für Ruckler in Spielen wie Gotham Knights in vielen Fällen.
Wir haben eine gute Lösung für das Stottern der Shader-Kompilierung . Die erste besteht darin, Shader vorzukompilieren, wie es Uncharted: Legacy of Thieves auf dem PC tut. Speichern Sie die Anweisungen im Voraus im Speicher, sodass Sie sich nicht mit dem Kompilieren herumschlagen müssen, während das Spiel läuft. Das andere ist die asynchrone Kompilierung. Moderne CPUs wie der Core i5-13600K haben Zugriff auf eine Menge Threads, sodass Threads, die nicht viel tun, die Kompilierung für kommende Abschnitte übernehmen können, während Sie spielen.
Es sind keine einfachen Lösungen, aber sie funktionieren. Die andere Hauptursache für Stottern, die wir sehen, ist Traversal- oder Ladestottern. Dies ist der Fall bei Star Wars Jedi: Survivor, einem Spiel, das mit einer Reihe von Leistungsproblemen startete . Hier entsteht der Anstieg der Renderzeit dadurch, dass das Spiel beim Durchqueren der Welt neue Daten lädt.
Es ist wichtig, zwischen den beiden zu unterscheiden, da es für sie sehr unterschiedliche Lösungen gibt. Stottern bei der Shader-Kompilierung tritt auf, wenn ein neuer Shader-Effekt auf dem Bildschirm eingeführt wird. Das Schattieren eines einzelnen Pixels kann mehrere Effektebenen haben. Eine Explosion oder ein Effekt beim Aufnehmen eines Gegenstands sind also die Bereiche, in denen es normalerweise zu Stottern bei der Shader-Kompilierung kommt.
Durchquerungsstottern tritt auf, wenn Ihr Charakter eine Ladezone irgendeiner Art passiert. Wenn auf dem Bildschirm nichts besonders Bemerkenswertes passiert, besteht eine gute Chance, dass Sie ein Traversal-Ruckler und kein Shader-Kompilierungs-Ruckler sehen.
Star Wars Jedi: Survivor ist ein gutes Beispiel für diese Dynamik. Zu Beginn des Spiels auf Coruscant stürzt ein großes Schiff gegen eine Plattform und es kommt zu einem kurzen, geringfügigen Stottern der Shader-Kompilierung. Später, auf Koboh, kommt es jedoch beim Betreten oder Verlassen von Pyloon's Saloon etwa 10 Sekunden lang zu heftigem Stottern. Das ist ein Traversalstottern.
Entwickler haben Lösungen für das Stottern bei der Shader-Kompilierung, selbst bei Engines wie Unreal Engine 4, die in dieser Abteilung besonders schwer zu bewältigen sind. Wir haben gesehen, dass viele der Shader-bedingten Ruckler in Spielen wie Hogwarts Legacy und Spielen wie Atomic Heart behoben wurden wurden aufgrund eines intensiven Vorkompilierungsprozesses ruckelfrei gestartet. Die Situation beim Traversalstotter ist komplexer.
Der Kraken der nächsten Generation
Sowohl die PS5 als auch die Xbox Series X verfügen über dedizierte Hardware-Dekomprimierungsprozessoren. Laut Mark Cerny von Sony kann der dedizierte Prozessor, der die Dekomprimierungsbibliothek Oodle Kraken auf der PS5 verwendet, die Komprimierungsarbeit von neun AMD Zen 2- Kernen bewältigen. Xbox verfügt über das DirectStorage-System von Microsoft , das auch einen dedizierten Prozessor zur Dekomprimierung enthält, um die Ladezeit und vor allem das Asset-Streaming zu beschleunigen.
Beim Streamen von Daten von der SSD kommt es zu Traversal-Stottern, und es ist ein viel schwierigeres Problem, das auf dem PC zu lösen ist. PCs verfügen nicht nur über keine dedizierte Dekomprimierungshardware, sondern die Bandbreite der Spezifikationen von SSDs macht es auch schwierig, die Streaming-Leistung zuverlässig über mehrere Systeme hinweg zu skalieren.
Auf einem PC ist die Dekomprimierung eine Aufgabe für die CPU. Daten werden von der SSD gestreamt, müssen jedoch während der Übertragung dekomprimiert werden, was häufig zu einem Stottern beim Durchlauf führt. Die dedizierte Dekomprimierungshardware auf der PS5 und der Xbox Series
Es gibt Lösungen für dieses Problem auf dem PC, aber sie funktionieren noch nicht. DirectStorage steht PC-Benutzern zur Verfügung und hilft, Ladezeiten und Streaming durch GPU-Dekomprimierung zu verbessern. Das Problem ist, dass wir derzeit nur ein Spiel mit DirectStorage haben, Forspoken, und es nutzt die GPU-Dekomprimierung nicht. Es verbessert lediglich die Ladezeiten und ist etwas schneller als eine PS5.
In jedem anderen Spiel ist der Vorgang derselbe. Assets werden vom Speicher in den Systemspeicher übertragen, von der CPU dekomprimiert und dann in den GPU-Speicher kopiert. Dieser arbeitsintensive Prozess ist wahrscheinlich ein Grund dafür, dass die VRAM-Nutzung in den letzten Versionen so stark gestiegen ist, da die Spiele für Konsolen entwickelt wurden, bei denen es keinen Speicherengpass gibt, der derzeit auf dem PC vorhanden ist.
DirectStorage ist eine Lösung, aber nicht die einzige Möglichkeit, die großen Probleme mit dem Traversal-Stuttering auf dem PC zu beheben. Die richtige CPU-Skalierung ist eine Lösung, die insbesondere bei Unreal Engine 4-Releases nicht ausreichend genutzt wird. Diese Engine ist größtenteils darauf ausgelegt, auf zwei Threads der CPU zu laufen, und wie Sie in Spielen wie Star Wars Jedi: Survivor sehen können, leisten die verbleibenden Threads nicht viel Arbeit, wenn überhaupt.
Obwohl Konsolen über weniger Rechenleistung verfügen als moderne PCs, entwickeln Entwickler Spiele für Plattformen, die keinen großen Engpass beim Asset-Streaming aufweisen. Auf einem High-End-PC können Sie zwar immer noch eine höhere Leistung und visuelle Qualität erzielen, aber das geht mit dem Preis von Rucklern, einer geringeren Texturauflösung und VRAM-Einschränkungen einher, die es auf der Konsole nicht oder zumindest nicht gibt weit weniger schwerwiegend.
Nvidias Antwort
Anfang Mai reichte Nvidia bei Siggraph 2023 – einer jährlichen Konferenz rund um Fortschritte in der Computergrafik – einen Forschungsbericht mit dem Titel „Random-Access Neural Compression of Material Textures“ ein. Das Papier schlägt ein System vor, bei dem ein neuronales Netzwerk die Komprimierung und Dekomprimierung von Texturen übernimmt, und demnach kann das System 16-mal so viele Daten auf der gleichen Menge an Speicherplatz speichern wie eine herkömmliche blockbasierte Komprimierung.
Es heißt Neural Texture Compression (NTC). Mehr Details in Texturen bei gleichem Speicherplatz sind definitiv eine attraktive Option – wie wir bei Forspoken und Resident Evil 4 Remake gesehen haben, kann die Texturqualität auf dem PC in VRAM-beschränkten Szenarien tatsächlich viel schlechter sein als auf Konsolen – aber der wahre Segen ist dass NTC darauf ausgelegt ist, Daten zur Laufzeit zu dekomprimieren.
Laut Nvidia gibt es im Vergleich zu dedizierten Dekomprimierungsprozessoren einen leichten Overhead, aber die Forscher gehen davon aus, dass dieser Overhead geringer sein wird, sobald er auf Echtzeit-Rendering angewendet wird. Noch wichtiger ist, dass die Dekomprimierung direkt auf der GPU erfolgen kann, wodurch die CPU und die Notwendigkeit dedizierter Hardware vollständig umgangen werden.
Wird dies die Probleme mit Stottern und VRAM-Anstiegen lösen, die PC-Spieler plagen? Ich weiß nicht. Im Moment handelt es sich hier nur um eine Forschungsarbeit, und wenn wir sehen, dass NTC in Grafikkarten zum Einsatz kommt, wird es wahrscheinlich noch ein paar Generationen dauern. Es wird wahrscheinlich auch keine marktfähige Funktion wie Nvidias Deep Learning Super Sampling (DLSS) sein.
Aber es ist vielversprechend. DirectStorage, so eine Antwort es auch klingen mag, ist in PC-Spielen nicht so umgesetzt worden, wie ich es mir erhofft hätte. Die Hardware unterstützt es, die Software ist vorhanden, aber wir haben einfach keine Spiele, die die Hardware-GPU-Dekomprimierung nutzen, um auch nur annähernd das zu erreichen, was die Konsolen derzeit bieten. Diese Lösung ist möglicherweise für Entwickler einfacher zu verwalten und stellt weniger Anforderungen an die Hardware.
Wir wissen es im Moment nicht. In der Zwischenzeit drücke ich die Daumen, dass es im weiteren Verlauf des Jahres 2023 tatsächlich funktionierende PC-Releases geben wird, zumindest bis wir weitere clevere Möglichkeiten sehen, mit denen Entwickler und Anbieter das offensichtliche Problem von PC-Gaming angehen wollen.