Das ist ja schaurig was hier diskutiert wird
Und der originale Unterstellung des Entwicklers im Artikel is so auch nicht ganz bodenständig.
Ich will auch gar nicht auf
@Werbegeschaedigter eingehen und die anderen Kommentare zu seiner Erfahrung.
Aber falls das seine Auffassung ist, dann sollte das aufgezeichnet werden.
Das hat nichts damit zu tun deine Glaubwürdigkeit in Frage zustellen. Ich spreche hier als Entwickler selbst und einen Fehler den man selbst nicht nachstellen kann, kann man auch nicht beheben. Auj wenn er noch so real ist.
Aber ich denke der Fehler den du beschreibst liegt am Frustrum-Culling oder Occlusion Culling, das nicht vorhandene Objekte erst reingeladen werden müssen bevor sie gerendert werden, passiert das zu langsam oder schlichtweg garnicht, kannst du CoD oder etc. kann es durch aus sein das du vor einem Gegner stehst, aber dieser nicht auf deinem Bildschirm angezeigt wird.
Selbst wenn du ihn hörst.
Da haben hier andere schon richtig geteilt das Rendering, Audio und andere Systeme separat und Parallel zum Rendering laufen.
Nur leider dabei nicht die Pipeline verstehen.
Dazu wollte hier nun mal meinen Senf dazu geben...
Unreal Engine hat viele neue (und optionale) Features wie zum Beispiel die erwähnte Lumen Lichtberechnung und Nanite-Mikropolygon Technologie. (keine LODs mehr im traditionellen Sinne)
Beide sind grundlegend von der Auflösung abhängig, dass heißt bei höherer Auflösung werden bei Lumen mehr Lichtstrahlen berechnet (Rays-Per-Pixel) und bei Nanite schlichtweg mehr polygone dargestellt als bei niedriger Auflösung.
Das ist eine komplett neue Generation von Rendering und nicht wie vorher einfach nur mehr pixel im Pixel-Shader berechnet.
Nein, die gesamte Welt mit Nanite hat mehr Polygone, das gesamte Licht wird mit mehr Lichtstrahlen berechnet.
Höhere Auflösungen müssen weit mehr stemmen als nur mehr "Pixel zu berechnen".
Zu Lumen, das ist eine Scren-Space basiertes Raytracing pro Pixel schon klar dass wenn man von 1080 zu 4k die Grafikkarte in die Knie geht wenn man Naiv dann auch 4mal mehr RayTracing statt findet.
Und bei Nanite genauso, wenn nun 4 mal mehr Polygone berechnet werden müssen.
Das ist eine ganz andere Liga als bisherige Rendering Technologien.
Nanite nutzt hier sowohl die GPU aber vorallem die CPU als Rasterizer, für Polygone kleiner als 4 Pixel. GPU Hardwarebeschleunigung ist ausgelegt auf große Polygone da Pixel in einem 2x2 cluster berechnet werden. (GPUs sind dafür einfach gebaut)
Heißt bei Spielen wie z.B. Remnant 2 ist der bottleneck nicht die GPU sondern meist die CPU, da Remnant 2 fast ausschließlich auf Nanite setzt und Photoscans mit kleinen Polygonen verwendet. Heißt von 1080p zu 4K nativ zu render macht die CPU nun 4 mal so viel arbeit.
Aber nicht nur für das Rendering hat das einfluss. Die gesamte Pipeline wird schwerer zu berechnen. Occlusion und vorallem Frustrum-Culling (das entfernen von Polygonen die nicht sichtbar sind bevor man Compute, Vertex, Geo, und Pixel-Shader berechnet muss nun auch 4 mal so viel tun.
Das problem liegt in der Skalierung.
Unreal Engine gibt Entwicklern alle Möglichkeiten dies selbst einzustellen oder diese Einstellungen dem Nutzer zu überlassen.
Soweit ich weiß hat Remnant und andere Spiele aber keinerlei GrafikOptionen die z.B. die RayTracing qualität anzupassen, die Anzahl der Polygone anzupassen weder noch wird eine Anpassung dynamisch vorgenommen obwohl das in UnrealEngine mit einem Scale-Factor möglich ist.
Man könnte ja meinen das wenn ich die gleiche Anzahl von Polygonen möchte in 1080p und in 4k das ich diesen auf 0.25 stellen kann. Und somit die gleichen detailgrad zu rendern aber mit höherer Auflösung.
Das ist Schlichtweg faule oder uninformierte entwickler und aber auch nicht wie Nanite gedacht war zu funktionieren. Denn so wird nichtmehr pro Pixel ein Polygon gerendert sonder 4 Pixel fallen auf 1 Polygon.
(Ob man das nun sieht ist eine andere Frage siehe Upscaler)
Hier auch ARK als Beispiel, den Asset-Flip des jahrhunderts, heranzuziehen ist schlichtweg idiotisch. Das Team besteht aus einer handvoll amateuren, das kann man einfach nicht anders ausdrücken.
Selbst Remnant 2 ist ein eher kleines Entwickler Studio und zudem eines der ersten Spielen die auf UE5 basieren mit fast allrn neuen Features aktiviert.
Ob man diese Features überhaupt nutzt ist eine Entscheidung die man als Entwickler trifft, zudem sind viele dieser garnicht mehr nur für VideoSpiele sondern auch für Film produktion ausgelegt.
Anders sieht aus bei etablierten Entwicklern aus wie z.b. Embark, die The Finals machen, aus DICE/Battlefield Veteranen bestehen und solche Anpassungen vorgenommen haben.
Wenn ein "Entwickler" sagt, "das liegt an der Engine" höre ich nur Skill-Issue und nichts weiter.
Die Frage ob man dann jetzt für alles Upscaling verwenden muss ist an dieser Stelle fehl am Platz, da das grundlegende Problem ein anderes ist.
Aber kommen wir mal zu Upscalern.
Früher gab es MSAA (Multi-Sample Anti-Aliasing, das pro pixel mehrere pixel im offset gerendert hat um kanten glatten darstellen zu können, aber am allerbesten war immer noch SSAA (Super-Sampling).
Was schlichtweg heißt du renderst mit höhrer Auflösung und skalierst das Bild wieder herunter.
Stell dir dass nunmal vor mit Nanite.
Da werde dann naiv mehr polygone berechnet als du Pixel überhaupt auf dem Bildschirm hast.
Heißt neue Technik muss ran.
MSAA funktioniert zwar noch, aber ist bereits überholt von Techniken die mehrere Frames als Input nehmen um tempär ein stabileres Bild zuliefern. EPIC hat sein eigenes TAA hierzu entwickelt.
Dann kommen wir zu den neuen Deep-Learning algorithmen die versprechen noch besser zu seien.
Da sie nicht nur das bewegte Bild, sonder in DLSS v1 auch einen trainiertes Model verwenden das pro Pixel wert erkennen können was "falsch" ist, und diese bereiche "wiederherstellen".
Neuere Versionen funktionieren hier aber auch schon wieder ganz anders.
DLSS heute benutzt den gesamten Framebuffer, Motion-Vectors und hat zugriff auf den Gesamten Geometry-Buffer um genau herauszufinden was an welche Stelle gehört. DLSS 3 mehr oder weniger führt die gesamte Rendering Pipeline aus um ein Bild zu produzieren ohne es zu berechnen, da das trainierte Model schon weiß was es mit den Daten anzufangen hat, das sind dan einfache lineare Matrix Multiplikationen die auf der Grafikkarte viel ychneller berechnert werden können als es "wirklich zu rendern".
Dann kommen wir zu FrameGeneration, da wie oben beschrieben alles zur berechnung eines gesamten Frames ohne hin zur Verfügung steht, können gesamte Frames erstellt werden.
Nun kommen wir zu Assetto Corsa, etc. etc. alle games bei denen dies nachgeliefert wurde und wie auch alle sehen es nicht richtig funktioniert.
Warum, kann jeder für sich selbst Spekulieren.
Aber man sieht an Spielen wie Cyberpunk 2077 dass es eigentlich funktionieren sollte.
(Hier hat NVidia selbst mit gearbeitet um es zu implementieren)
heißt, es muss entweder nicht richtig gemacht worden sein, oder es schlichtweg fehlen dem Modell Daten die es für die korrekte anwendung benötigt.
(Viele Spiele haben eine Forward Rendering Pipeline die schlichtweg diese Daten nicht liefern kann, egal wie lange du es dazu bringen willst)
So, wo lässt uns das stehen?
Sind alle unfähig und Dumm?
Natürlich nicht, aber muss das ganze etwas differenziert sehen und nicht alles auf "die Engine" schieben oder neue Technologien direkt in die Mülltonne schmeißen nur weil sie in deinem Spiel nicht funktionieren.
Dafür gibt es ja Grafik Einstellungen.
Aber es sollte mehr geben.
Vorallem für Lumen und Nanite ind Unreal Engine Spielen, das Kommandozeilen befehle die existieren, ignoriert und nicht dem Spieler angeboten werden, kann einfach nicht sein.
Das "Entwickler" meinen es liegt an der Engine kann einfach nicht sein.
Und das Spieler sich mit solchen Kleinigkeiten herumschlagen ohne das einfach einer mal die Dokumentation ließt kann auch nicht sein.
Deswegen, gebt Spielern mehr optionen, und informiert euch als Entwickler selbst und eure Spieler gleichermaßen.
Dann müsste man nicht sowas wie diesen Thread hier finden.
Bis zum nächsten Mal,
Ciao
Nach dem durchlesen sind mir paar Schreibfehler aufgefallen, da ich das hier in 10min aufm Handy im Zug abgetippt habe.
Fight me.
Auch habe ich das Interview gesehen, und der Netwickler sagt mehr oder weniger was ich hier sage, "es liegt an der Engine" ja, hat er gesagt, aber mit dem Hintergrund dass es eine grundlegend neue Technik ist.
Nichts dazu dass es unmöglich wäre das alles Einzustellen.
@PCGH Do better
Es kann auch nicht sein das ihr einen Satz aus dem Kontext reißt und suggestive Überschriften und somit Misst in die Welt setzt.
Da könnt ihr euch noch lange wie ihr wollt hinter "Journalismus berichtet nur das was andere gesagt haben" verstecken.
Aber tja, daran stirbt euer Verlag und Journalismus an sich ja eh schon lange.