Ich habe Entwickler gefragt, warum PC-Ports im Jahr 2023 wie Müll laufen

respec dt vorgestelltes Bild 2
Diese Geschichte ist Teil der ReSpec-Reihe von Jacob Roach, die sich mit der Welt des PC-Gamings und der PC-Hardware befasst.

Beim Betrachten der Stand der PC-Releases Im Jahr 2023 ist es leicht, mit dem Finger auf andere zu zeigen. Das Spiel ist nicht optimiert (was auch immer das bedeutet), oder der Herausgeber hat es zu schnell herausgebracht, oder die Grafikkarten, die Nvidia uns verkauft hat, sind kaputt mit zu wenig VRAM. Aber diese Anschuldigungen sind in den meisten Fällen unausgegoren und anmaßend, und obwohl sie auf die Realität hinweisen, erzählen sie nicht die ganze Geschichte.

Inhalt

  • Was ist das Problem?
  • Was Sie richtig machen können
  • Der Weg in die Zukunft für PC-Ports

Empfohlene Videos

Ich wollte wissen, was eigentlich los ist, also habe ich mich mit ein paar Entwicklern zusammengesetzt, um den Stand der PC-Spiele zu verstehen und zu erfahren, warum so viele Veröffentlichungen mit so großen Problemen auf den Markt kommen. Noch wichtiger war, dass ich wissen wollte, was Entwickler und Herausgeber tun können, um diese Probleme zu lösen. Und obwohl der Weg nach vorn nicht klar ist, wird es offensichtlich, dass die Entwickler wissen, dass es einen gibt Problem.

Was ist das Problem?

Ein kleiner Gaming-PC neben der PS5.

Zuerst müssen wir das Kernproblem beim PC identifizieren, insbesondere wenn Spiele auf Konsolen in spielbarem (wenn nicht perfektem) Zustand ausgeliefert werden, auf dem PC jedoch schrecklich kaputt ankommen. Auf hoher Ebene ist das Problem der Plattform PC genau das, was sie überhaupt so verlockend macht: Flexibilität.

Verwandt

  • Bei exklusiven PC-Partnerschaften verlieren alle
  • Konsolen haben immer noch einen großen Vorteil, der dem PC-Gaming schadet
  • Wie ein virales Bodycam-Spiel das Internet dazu verleitete, zu glauben, es handele sich um echtes Filmmaterial

Marc Whitten, Senior Vice President und General Manager von Unity Create, sagt: „Die schiere Vielfalt und Variabilität der PC-Konfigurationen, auf denen Spiele gespielt werden … kann es auf jeden Fall unerwartete Probleme aufdecken.“ Whitten weist auch darauf hin, dass „verschiedene Betriebssysteme und neue Treiberaktualisierungen, Hitze und Latenz sowie Benutzeranpassungen“ Faktoren sein können, die bei dem Problem eine Rolle spielen können.

Ich bin mir sicher, dass dies die Antwort ist, die die meisten Menschen als Erklärung ansehen.

Laut Whitten liegt das Problem jedoch nicht im Mangel an Tests selbst. Er behauptet, dass Spiele „im Allgemeinen während der gesamten Entwicklung ausgiebig getestet werden“. Das Problem besteht darin der Umfang verschiedener Konfigurationen, die Entwickler testen müssen, sowie Variablen, die sie nicht berücksichtigen können für.

Nehmen wir als Gedankenexperiment an, ein Entwickler hat 100 verschiedene PC-Konfigurationen zum Testen festgelegt und dabei die CPU, GPU usw. variiert. RAM, und Festplatte dazwischen. Fürs Protokoll: Das ist eine Zahl, die ich nur herausziehe, und nicht etwas, das ein Entwickler tatsächlich als realistisches Ziel bezeichnet hat. Nehmen Sie nun alle diese Konfigurationen und multiplizieren Sie sie mit Dutzenden zusätzlicher Faktoren: Welches Betriebssystem verwenden Sie? Welche Version dieses Betriebssystems? Wie wäre es mit der Treiberversion? Welche BIOS-Einstellungen sind aktiviert? Läuft im Hintergrund Software wie Razer Synapse oder Corsair iCue?

Die RTX 4080 im laufenden Prüfstand.
Jacob Roach / Digitale Trends

Der Umfang der möglichen Konfigurationen geht weit über die reine CPU und GPU hinaus, die Sie in Ihrem System haben Diese Faktoren können sich leicht zu Zehntausenden von Szenarien vervielfachen, die Entwickler einfach nicht berücksichtigen können für. Im Idealfall können Entwickler die größten Probleme für die gängigsten PC-Konfigurationen mit den neuesten Treiber- und Betriebssystem-Updates beheben, so dass nach dem Start nur noch kleine, spezifische Probleme behoben werden müssen.

Auch Whitten ist mit dieser Meinung nicht allein. John Johanas, Spieldirektor von Hi-Fi RushUnd Das Böse in 2, sagt: „Es ist ziemlich unrealistisch zu glauben, dass man ein Produkt herstellen kann, das auf was einwandfrei läuft.“ fühlt sich an wie eine unbegrenzte Konfiguration von CPUs, GPUs, Speicher und wahrscheinlicher davon, was darin läuft Hintergrund."

Hideyuki Miyashita, Systemprogrammierer am Hi-Fi Rush, stimmte zu, verwies aber ausdrücklich auf die Kosten der Optimierung eines Spiels für jede mögliche Konfiguration: „In Hinsichtlich der PC-Leistung wäre es möglich, jede Grafikfunktion für verschiedene Konfigurationen skalierbar zu machen Ideal; Allerdings setzen die Entwicklungskosten eine Obergrenze für eine realistische Skalierbarkeitsunterstützung.“

Das ist keine neue Geschichte. Die große Bandbreite an PC-Konfigurationen ist die häufigste Ursache für alles, von der Schwierigkeit, Spiele auf dem PC zu optimieren, bis hin zu den Gründen, die wir noch nicht gesehen haben Der schnelle Lebenslauf der Xbox wird in Windows angezeigt. Die Frage ist, was Entwickler trotz der begrenzten Zeit und des begrenzten Geldes tun können. Weil PCs nicht einfacher werden und Spiele immer noch kaputt auf der Plattform ankommen.

Was Sie richtig machen können

Cal Kestis schwingt sein blaues Lichtschwert und trägt BD-1 in Star Wars Jedi: Survivor.

Wir haben dieses Jahr viele Beispiele für Spiele, bei denen die PC-Unterstützung falsch funktioniert. Eine Primzahl Beispiel ist Star Wars Jedi: Überlebender, welche aktuell hat den Bewertungsstatus „Gemischt“. auf Steam, obwohl es eines der am meisten gefeierten Spiele des Jahres ist. In der Top-Rezension heißt es: „Ein einziger Absturz hat meine 140-Stunden-Speicherdatei mit 99,8 % NG+ beschädigt.“ Huch.

Ich wandte mich an das Entwicklungsteam, um herauszufinden, was schief gelaufen war, und obwohl sie zunächst aufgeschlossen waren, griff EA ein und antwortete nicht mehr auf meine E-Mails. Anstatt also darauf zu achten, was Spiele auf dem PC falsch machen, müssen wir uns ansehen, was Entwickler richtig machen.

Hi-Fi Rush ist eine erstklassige Fallstudie. Es ist ein neues Spiel von einem AAA-Studio und nutzt die berüchtigte Unreal Engine 4. Man könnte meinen, es handele sich um einen Vergleich zwischen Äpfeln und Birnen Hi-Fi Rush und ein Spiel wie Star Wars Jedi: Überlebender, aber sie haben mehr gemeinsam, als Sie vielleicht vermuten. Wie Johanas betont: „… die Tatsache, dass das Spiel eine Cartoon-Ästhetik hat, wird einigen Benutzern den Eindruck vermitteln, dass die Ausführung des Spiels auf jedem PC kein Problem darstellen sollte.“ Realistisch gesehen unternimmt das Spiel viele Dinge, um das von uns angestrebte Aussehen zu erreichen, und zwar konstant Eine bewegte Welt, die sehr anstrengend ist … Ich wusste das von Anfang an und habe dafür gesorgt, dass wir versucht haben, diese zu erreichen Erwartungen.“

Chai schlitzt in Hi-Fi Rush einen Roboter auf.
Bethesda

Es schien mir von Anfang an wichtig, dieses Ziel zu setzen Hi-Fi RushStabilität. Die Entwickler weisen darauf hin, dass es von Anfang an ein Designziel war, mindestens 60 Bilder pro Sekunde (fps) beizubehalten, da es sich sowohl um ein Rhythmusspiel als auch um ein Spiel handelt Ein Actionspiel, bei dem ein Unterschreiten dieser Marke zu „Schluckaufen“ führen würde, die zu einer Unterbrechung der Musiksynchronisation und einem vermeintlich schlechten Spielerlebnis führen könnten, heißt es Johannas.

Wie hat das Team von Tango Gameworks das geschafft? Im Großen und Ganzen läuft es auf drei Hauptpunkte hinaus: sorgfältige VRAM-Überwachung, asynchrone Vorgänge und PSO-Caching.

Laut Kosuke Tanaka, leitender Grafikprogrammierer für Hi-Fi Rush, Das Team überwachte die VRAM-Nutzung während jedes Entwicklungsschritts. Dazu gehört natürlich die Überwachung jedes Levels, aber auch der VRAM-Nutzung jedes Grafikbereichs, wobei die Künstler aufgefordert werden, die Textur- oder Mesh-Speichernutzung zu senken, damit sie in das Budget des Spiels passen. Auch in der Spieleentwicklung ist das keine Seltenheit.

Was funktioniert in Hi-Fi RushDer Vorteil liegt in seiner starken künstlerischen Ausrichtung. Tanaka betont: „Unser Kunststil hat uns ein wenig geholfen, weil wir keine traditionellen PBR-Texturen wie Normal Maps oder Rauheit benötigen Karten oder metallische Karten.“ Es ist ein Beweis dafür, dass man mit kreativen Einschränkungen arbeitet und wie sich diese auf die Stabilität des Finales auswirken können Produkt. Johanas sagt, es ginge nicht um einen kleineren Umfang – es ging darum, „keinen Grund zu haben, ohne Grund groß rauszukommen“.

Ich habe das Team gefragt, was es daraus gelernt hat Hi-Fi Rush dass es in größere, umfassendere Projekte übertragen werden könnte, aber das ist nicht gerade die Art und Weise, wie Tango Lehren aus dem Spiel zieht. Tatsächlich erzählte mir das Entwicklungsteam, dass es dadurch viel mehr über Optimierung gelernt habe Ghostwire: Tokio, Das passt eher in die traditionelle AAA-Form und hat diese Ideen umgesetzt Hi-Fi Rush, nicht umgekehrt.

Akito greift in Ghostwire: Tokyo Feinde mit Magie an.
Ghostwire: Tokyo ist eine frühe Präsentation von TSR der Unreal Engine, das FSR 2.0 sehr ähnlich ist.

„Wir haben viel von unserem Wissen darüber gelernt, wie wir mit dem Stottern im Spiel umgehen können Hi-Fi Rush aus unserer Erfahrung in der Optimierung Ghostwire: Tokio„, erzählte mir Miyashita. Ein großer Teil davon war  Zwischenspeicherung des Pipeline State Object (PSO).. Hierbei handelt es sich um eine in Unreal Engine 4 verfügbare Funktion, die dazu beiträgt, Stottern zu reduzieren, indem Shader vor dem Ausführen des Spiels vorkompiliert werden.

Das Hauptproblem besteht darin, dass Unreal Engine 4 dies nicht automatisch durchführt, was zu Situationen führt, in denen die Shader kompiliert werden müssen, während Sie das Spiel spielen, was zu Rucklern führt. Miyashita sagt: „Dies führte dazu, dass einige Nachbearbeitungsprozesse und visuelle Effekte zu Stottern führten.“ Der Programmierer sagt auch, dass PSO-Caching optional ist und daher ein besonderer Schwerpunkt für den Entwickler sein muss.

Allerdings löst Caching nicht jedes Problem, und hier kommen asynchrone Vorgänge ins Spiel. Der Hi-Fi Rush Das Team nutzte die asynchrone Kompilierung – bei der Shader getrennt vom Spielthread kompiliert werden –, aber es war auch ein großer Schwerpunkt, wenn man bedenkt, dass das Spiel auf der Unreal Engine 4 lief.

Wie wir bei anderen Unreal Engine 4-Spielen wie gesehen haben Star Wars Jedi: Überlebender Und Rotfall, Die Engine eignet sich nicht besonders gut für die Skalierung auf die vielen Threads, die auf modernen CPUs verfügbar sind. Als Miyashita erklärt: „Wie schwierig die Unterstützung von Multithreading sein kann, hängt stark von der verwendeten Engine ab die Architektur. Leider bleibt UE4 in dieser Hinsicht etwas zurück.“

Insbesondere platziert Unreal Engine 4 nach Angaben des Entwicklers die Erstellung von Schauspielern (Objekten/Charakteren) und Widgets (Benutzeroberfläche und Overlay) im selben CPU-Thread wie das Spiel. Das bedeutet, dass jedes Mal, wenn das Spiel beispielsweise einen neuen Charakter laden möchte, dieser Vorrang im Thread hat. Miyashita sagt: „Dies kann dazu führen, dass die komplexe Erstellung von Schauspielern und Widgets den Spielthread für lange Zeit blockiert.“ Das ist ein Stottern.

Die Lösung sind asynchrone Operationen. Miyashita sagt, dass das Team Analysetools verwendet, um genau zu bestimmen, was die CPU tut, wenn Objekte gebracht werden in, und dass sie sich bemühen, diese Aufgaben in andere Threads zu verschieben, damit das Spiel nicht langsamer wird runter. Dieses spezifische Targeting kann auch beim Ressourcenladen helfen. Durch die Verlagerung dieser Vorgänge in eine parallele Struktur können die Fallstricke von Streaming-Stottern vermieden werden, die in Spielen wie … auftreten Leerer Raum.

Der Weg in die Zukunft für PC-Ports

Layla schützt sich in Redfall mit einem Spektralschirm.

Die Spiele, die heute in einem katastrophalen Zustand auf den Markt kommen, haben ihre Entwicklung schon vor Jahren begonnen, obwohl ich hoffnungsvoll bin Da wir davon ausgehen, dass sich die PC-Versionen im Laufe des Jahres verbessern werden, kann es mehrere Jahre dauern, bis wir diese Kernprobleme sehen angesprochen.

Whitten sagt, dass „Entwickler genauso auf die Leistung bedacht sind wie Spieler“, und das ist eine Meinung, die ich schon mehrmals gehört habe. Es gibt Möglichkeiten, PC-Releases zu optimieren, von Pre-Caching-Shadern über asynchrone Vorgänge bis hin zur Validierung auf einer Vielzahl von Hardware. Die Realität ist jedoch, dass Entwickler aus Zeit- oder Geldgründen und in der Regel aus beidem nicht alles berücksichtigen können.

Der Weg dorthin ist einfach. Teilen Sie den Herausgebern dieser Spiele zunächst mit, dass Ihnen eine Verzögerung lieber ist als ein kaputtes Spiel. Entwickler anzuschreien wird nicht viel bringen – sie kennen das Problem bereits und würden es wahrscheinlich genauso gern gelöst haben wie Sie. Zweitens: Seien Sie vorsichtig, wenn Sie am Tag der Veröffentlichung ein neues PC-Spiel kaufen. Es ist schwer, geduldig zu sein, wenn man sich auf etwas freut (glauben Sie mir, ich weiß), aber bis dahin mit dem Kauf eines Spiels zu warten Dass die Probleme behoben wurden, ist ein starkes Signal an die Verlage, mehr Zeit und Ressourcen in die Verbesserung der Spiele zu investieren auf dem PC.

Man vergisst leicht, dass es sich hier noch um Neuland handelt. Heute kommen Spiele mehr denn je am selben Tag auf den PC, an dem sie auf die Konsolen kommen, ganz anders als noch vor ein paar Jahren, als PC-Ports Monate (oder sogar Jahre) später kamen. Vor zwei Konsolengenerationen wurden die meisten Spiele nur am selben Tag auf einer Plattform ausgeliefert; in der Vorgängergeneration waren es zwei. Jetzt wird von den Entwicklern erwartet, dass sie mindestens am selben Tag auf drei Plattformen liefern, manchmal sogar auf fünf, wenn sie eine Last-Gen-Version haben.

In diesem Kontext ist es nicht schwer zu erkennen, warum es auf dem PC Probleme gibt, aber hoffentlich sind weitere ausgefeilte Veröffentlichungen in Vorbereitung.

Dieser Artikel ist Teil von ReSpec – eine fortlaufende zweiwöchentliche Kolumne mit Diskussionen, Ratschlägen und ausführlichen Berichten über die Technologie hinter PC-Spielen.

Empfehlungen der Redaktion

  • Ich habe versucht, das vergessene Erbe von Halo als Mac-Franchise noch einmal aufleben zu lassen – und es war eine Katastrophe
  • Die schlechtesten PC-Ports aller Zeiten – und warum sie so schlecht waren
  • Star Wars Jedi: Survivor wird auf Steam als „völlig beschissene“ PC-Portierung kritisiert
  • Wie Unreal Engine 5 das größte Problem im PC-Gaming angeht
  • KI kommt für Ihre PC-Spiele, aber Sie sollten aufgeregt und nicht besorgt sein