Unreal Engine 5.2 Funktionen analysiert Ist dies die Antwort auf #StutterStruggle?

Unreal Engine 5.2 Features analyzed. Is this the answer to #StutterStruggle?

Nach fast drei Jahren, seit Unreal Engine 5 erstmals vorgestellt wurde, stehen wir kurz vor den ersten großen Veröffentlichungen von UE5-Spielen, darunter Immortals of Aveum, The Lords of the Fallen und Stalker 2: Heart of Chernobyl. Mit der Veröffentlichung von Unreal Engine 5.2 scheint es an der Zeit zu sein, einen erneuten Blick auf die neuen Funktionen der neuesten Version zu werfen und wie diese die zukünftigen Spiele prägen werden – einschließlich Titel von Entwicklern, die zuvor ihre eigenen Engines wie CD Projekt Red und Crystal Dynamics verwendet haben.

Die hervorstechende Neuerung von UE5.2 ist die prozedurale Generierung, wie sie bereits in der Electric Dreams-Demo im März vorgestellt wurde. Wenn Sie sich erinnern, wurden die Räume, die in der ursprünglichen Enthüllung von Unreal Engine 5 mit Lumen in the Land of Nanite und Valley of the Ancient gezeigt wurden, auf eine sehr spezielle Weise erstellt. Künstler haben jeden Teil der Umgebung manuell platziert und angeordnet, indem sie vorgefertigte Assets verwendet haben. Oft haben sie Zeit damit verbracht, diese Assets zu kopieren und einzufügen, wobei sie Rotation und Skalierung ändern, um die spärlich bevölkerten felsigen Umgebungen in diesen Demos zu erstellen. Obwohl diese Technik eine effektive Möglichkeit ist, kleinere Projekte wie diese Demos zu erstellen, ist sie für die Produktion eines echten Videospiels möglicherweise nicht praktikabel. Es erfordert viel manuelle Arbeit und ist auch auf Seiten des Motors einschränkend, da die verschwenderische Überlappung vieler Meshes die Leistung für hardwarebeschleunigtes Lumen-Raytracing beeinträchtigt.

In der späteren Matrix Awakens-Demo zeigte Epic ein prozedurales Tool zur Bevölkerung städtischer Umgebungen, aber mit 5.2 haben sie ein weiteres System für natürliche Außenumgebungen veröffentlicht, wie es in der Electric Dreams-Demo zu sehen ist. Hier wird Nanite nicht nur für undurchsichtige Objekte wie Felsen verwendet, sondern auch für Objekte wie Blätter und Büsche, die alpha-maskierte Transparenzen verwenden. Basierend auf meinem ersten Kontakt mit der Demo und dem Editor selbst scheint diese Technik effektiv zu sein, um überzeugende hochwertige Umgebungen aus einer begrenzten Anzahl von Assets und wenig künstlerischem Eingriff zu generieren. Dadurch wird es einfacher, große Welten mit überzeugender Detailfülle zu bevölkern, wobei Nanite das erforderliche Detail liefert.

Einige Unterschiede lassen sich am besten visuell zeigen – deshalb haben wir dieses Video speziell für Sie erstellt. Sehen Sie es auf YouTube

Ein weiterer positiver Effekt dieser systematischeren Platzierungsmethode liegt in der Leistungssteigerung, bei der hardwarebasiertes Lumen jetzt bei den standardmäßigen Epiceinstellungen spürbar besser läuft. In einem Beispiel habe ich eine 14-prozentige Verbesserung der Bildrate im Vergleich zu softwarebasiertem Lumen bei derselben Auflösung gemessen, während eine spürbare Zunahme der Reflektionsdetails ermöglicht wird – sodass einzelne Blätter anstelle von mehr amorph aussehenden Blobs in der Softwareversion gezeigt werden können. Auch die Qualität der diffusen Beleuchtung ist in der hardwarebasierten Implementierung verbessert, da die Softwarelösung dazu neigt, schattige Bereiche zu stark abzudunkeln. Dies ist eine solide Verbesserung gegenüber den kitbasierten Umgebungen wie Valley of the Ancient, in denen hardwarebasiertes Lumen deutlich schlechter lief und trotz seiner höheren Qualität praktisch unbrauchbar war.

Obwohl dies beeindruckend ist, ist es wichtig zu beachten, dass diese Verallgemeinerungen tendenziell zutreffen, wenn die GPU die Leistung begrenzt, aber in CPU-begrenzten Szenarien können sich die Ergebnisse unterscheiden. Zum Beispiel bietet softwarebasiertes Lumen bei einer niedrigeren Auflösung in der UE5.2-Demo eine nicht unerhebliche 10-prozentige Leistungssteigerung im Vergleich zu hardwarebasiertem Lumen. Die CPU-Anforderungen dürften ebenfalls hoch sein, da die Demo selbst mit einem Core i9 12900K und 6400MT/s DDR5-RAM durchschnittlich nur etwas über 60fps erreicht. Beim Durchqueren der Welt mit höherer Geschwindigkeit wird die Demo zunehmend von der CPU begrenzt und die Leistung und die Ruckler nehmen entsprechend ab.

Interessanterweise scheint UE5 trotz seiner Modernität noch nicht gut auf CPUs mit höheren Kern- und Threadzahlen zu skalieren – ähnlich wie im letzten Jahr. Wenn wir zum Beispiel von sechs auf acht Kerne beim 12900K wechseln, erhöht sich die CPU-begrenzte Leistung nur um sechs Prozent, während das Aktivieren der Hyper-Threading-Funktion die Leistung in dieser Testsequenz um weitere vier Prozent steigert. Das Aktivieren von acht weiteren effizienten Kernen verbessert die Bildrate nicht weiter.

Nach sechs Kernen/Threads zeigt UE5 keine signifikante Leistungssteigerung mehr – moderne Prozessoren werden nicht voll ausgenutzt.

Angesichts der voraussichtlichen Verbreitung von UE5 in den nächsten Jahren ist dies etwas enttäuschend – insbesondere angesichts der stetig steigenden durchschnittlichen Anzahl von CPU-Kernen. Zur Einordnung: In Cyberpunk 2077 sehen wir eine 88-prozentige Steigerung der Bildrate, wenn wir von vier Kernen auf 16 Kerne beim 12900K wechseln, während wir in der Electric Dreams-Demo nur eine 30-prozentige Verbesserung sehen. Basierend darauf hat UE5 noch viel Potenzial, um moderne Mehrkernprozessoren optimal zu nutzen.

Wenn Sie jedoch eine Ada Lovelace (Nvidia RTX 40-Serie) GPU verwenden, kann die DLSS 3-Rahmenerzeugung eine effektive Gegenmaßnahme sein und ist für Entwickler einfach zu implementieren. Nachdem das Plugin im Unreal Engine Marketplace gefunden wurde, sind insgesamt nur 11 Klicks erforderlich. Mit aktivierter Funktion habe ich eine 97-prozentige Verbesserung der Bildrate in diesem CPU-limitierten Szenario gemessen. Ich denke, das macht DLSS3 (und zukünftige Äquivalente von AMD und Intel) zu einer klaren Empfehlung für Entwickler, die UE5-Spiele erstellen.

Ein weiteres wichtiges Leistungsupdate in UE5.2 ist eine Verbesserung des Verhaltens bei Shader-Kompilierung – etwas, das regelmäßige Leser wissen, dass es mich immer wieder ärgert. Der einzige Weg für Entwickler, Ruckler bei der Shader-Kompilierung in UE4 und UE5.0 zu verhindern, besteht darin, einen Vor-Kompilierungsschritt vor dem Spielstart durchzuführen. Dies ist bei einigen UE4-Titeln verfügbar, erfordert jedoch, dass Entwickler das Spiel methodisch durchspielen, um eine vollständige Bibliothek aller von den Spielern verwendeten Shader zu erstellen. Wenn dabei etwas übersehen wird, treten immer noch Ruckler auf.

Die Software Lumen kann im Vergleich zur Hardware-Version manchmal zu dunkel sein, wie Sie auf diesem Bild sehen können.

Mit UE 5.1 und einem entsprechenden Fortnite-Update hat Epic ein asynchrones Shader-Kompilierungsschema hinzugefügt, das in Echtzeit funktioniert. Shader werden während des Spiels im Hintergrund auf der CPU vorkompiliert, um Ruckler zu verhindern. Diese Technik ist nicht ganz perfekt, denn wenn ein Shader gezeichnet werden sollte, aber noch nicht bereit war, kam es zu Rucklern im Spiel. In UE5.2 ist dieses asynchrone System genauer und ermöglicht es dem Entwickler, die Anzeige des Shaders zu verzögern, bis er vollständig kompiliert ist. Dadurch können alle mit Shadern verbundenen Ruckler vollständig beseitigt werden – jedoch besteht die Möglichkeit, dass eine visuelle Wirkung oder ein Material etwas später angezeigt wird als sonst.

Dieses verbesserte asynchrone Shader-Vorab-Caching und das neue Skipdraw-Feature in 5.2 haben eine transformative Wirkung in meinen Tests, indem sie die größten (~500ms) Ruckler beseitigen und die Flüssigkeit verbessern. Allerdings werden nicht alle Ruckler vollständig eliminiert, es gibt immer noch einige Beispiele von 30-50ms, die nicht in einem vollständig “warmen” Cache gefunden werden. Einige davon könnten auf Traversierungs-Ruckler zurückzuführen sein, die UE5 von UE4 übernommen hat – und die auch in der neuesten Version von Fortnite mit Unreal Engine 5.2 noch vorhanden sind.

In Bezug auf Ruckler ist Unreal Engine 5.2 sicherlich eine Verbesserung – aber Traversierungs-Ruckler müssen noch bearbeitet werden und auch das neue asynchrone Shader-Caching-System ist nicht das Allheilmittel, auf das Entwickler sich vollständig verlassen können, um ein reibungsloses Spielerlebnis zu gewährleisten. Zum einen scheint es nicht standardmäßig aktiviert zu sein, was einige Entwickler möglicherweise übersehen könnten, und zum anderen verursacht es einige Ruckler, die durch die traditionellere Shader-Cache-Methode behoben werden. Daher ist es wahrscheinlich sinnvoll, dieses neue asynchrone System mit dem älteren Offline-Precaching-System zu kombinieren, um das flüssigste Erlebnis auf dem PC zu erzielen.

Es wird interessant sein zu sehen, wie diese beiden neuen Funktionen von Unreal Engine 5.2 in den bereits veröffentlichten Drittanbieter-Spielen eingesetzt werden, von Immortals of Aveum im August bis hin zu The Lords of the Fallen im Oktober und Stalker 2 im Dezember. Das Jahr 2023 hat sich noch nicht ganz so entwickelt, wie ich es mir für das PC-Gaming erhofft hatte – aber es ist noch Zeit für Veränderungen, und UE5.2 könnte eine wichtige Rolle spielen.