Kostenlose FPS: Wie KI hilft, Spielgrafiken besser zu machen





In den letzten Jahren ist künstliche Intelligenz immer beliebter geworden. Fragen Sie einfach und Siri wird Ihnen das Ergebnis des Fußballspiels mitteilen, das Sie letzte Nacht verpasst haben. In den Empfehlungen von Spotify erfahren Sie, was Sie Ihrer Musikbibliothek hinzufügen müssen, und Amazon wird versuchen, vorherzusagen, welches Produkt Sie als Nächstes kaufen werden, wenn Sie es noch nicht kennen.



Er kam auch nicht an der Spielebranche vorbei. Während die Spielumgebung die auf dem Death Stranding-PC veröffentlichten Grafiken mit und ohne DLSS-Technologie vergleicht, wurde neulich bekannt, dass die NVIDIA Ampere-Prozessoren DLSS 3.0 verwenden werden. Es funktioniert jedoch mit jedem Spiel mit TAA (Temporal Anti-Aliasing) und Game Ready-Treiber. Dies bedeutet, dass Entwickler die Technologie für ihre Spiele optimieren müssen - dieser Prozess wird jedoch viel einfacher sein als jetzt.



In diesem Artikel sehen wir uns an, wie NVIDIA maschinelles Lernen einsetzt, um unser Spielerlebnis zu verbessern.



Was ist DLSS?



Die Qualität der Grafik in modernen Spielen nimmt nur zu, und mit ihr wächst die rechnerische Komplexität der durchgeführten Operationen. Wir verdanken dies der Raytracing-Methode, die Echtzeitbeleuchtung simuliert und vorgebackene Reflexionen als Relikt der Vergangenheit hinterlässt. Die rechnerische Komplexität der Strahlverfolgung beruht auf der Tatsache, dass die Auflösung moderner Spiele die guten alten 1080p übersteigt. Daher müssen die Berechnungen beim Rendern beschleunigt werden.



Deep Learning Super Sampling (DLSS) ist eine NVIDIA-Technologie, die Deep Machine Learning verwendet, um die Frameraten in grafikintensiven Spielen zu verbessern. Mit DLSS können Gamer höhere Einstellungen und Auflösungen verwenden, ohne sich um die Stabilität von fps sorgen zu müssen.



Insbesondere erfüllt DLSS die Aufgabe der Superauflösung. Damit kann ein Bild mit einer Auflösung von beispielsweise 1080p mit minimalem Qualitätsverlust auf 4K hochskaliert werden. Dadurch entfällt die Notwendigkeit, das Spiel in 4K zu spielen (und dadurch wahrscheinlich Ihren PC zum Schmelzen zu bringen). Die Auflösung beträgt weiterhin 1080p, was höhere Bildraten ermöglicht. Bei der DLSS-Hochskalierung werden Sie jedoch kaum einen Unterschied zu 4K feststellen.



Bild

DLSS 2.0-Architektur



Im Wesentlichen ist DLSS ein neuronales Netzwerk, das auf NVIDIA-Supercomputern trainiert ist. Die Ausgabe dieses neuronalen Netzwerks wird mit einem Referenzbild mit einer Auflösung von 16 K verglichen, und der Fehler zwischen ihnen wird über eine Rückkopplungsschleife an das Netzwerk zurückgegeben. Um Geschwindigkeitsprobleme zu vermeiden, verwendet DLSS Tensorkerne, die das Rückgrat von RTX 2000-Prozessoren (und zukünftigen RTX 3000) bilden. Dies kann Tensoroperationen erheblich beschleunigen und die Effizienz des KI-Trainings und der Aufgaben im Zusammenhang mit Hochleistungsrechnen verbessern.



Bild



DLSS-Entwicklung: von 1,0 bis 2,0



DLSS 1.0 wurde für jedes Spiel separat trainiert, und daher dauerte das Lernen extrem lange. Es unterstützte auch kein 4x-Upsampling, beispielsweise von 1080p auf 4K, und wies eine Reihe anderer Mängel in der Bildqualität auf, die die Verbesserung der Bildrate nicht wert waren.



DLSS 2.0 ist ein allgemeinerer Algorithmus, der keine Einschränkungen hinsichtlich Training und Upsampling aufweist und aufgrund der Verwendung von Tensorkernen eine geringere Ausgangslatenz aufweist: Er liegt beim RTX 2080ti in der Größenordnung von 1,5 ms bei 4 KB - und liefert in einigen Fällen ein noch besseres Ergebnis als das Original Bild. DLSS-Bilder sind 1080p endgültig









In DLSS 1.0 können Sie maximal 720p bis 1080p verwenden, während DLSS 2.0 sogar bei 540p auf 1080p hochskalieren kann. Wie Sie im Beispiel sehen können, sieht das Bild bei 540p völlig verwaschen aus. Gleichzeitig erwies sich das Ergebnis mit DLSS 2.0 als besser als mit DLSS 1.0 und sogar etwas besser als das Originalbild. Das heißt, DLSS 2.0 verarbeitet die Pixelfüllung effizienter als DLSS 1.0, obwohl letzteres einen kleineren Auflösungsunterschied neu skalieren muss.



Die Fähigkeit von DLSS 2.0, Bilder mit 540p zu skalieren, kombiniert mit der geringen Latenz der Methode selbst, bietet eine erhebliche Leistungssteigerung gegenüber dem Vorgänger.



Bild

Renderzeit mit und ohne DLSS 2.0 (in ms)





Erfahren Sie mehr über die Funktionsweise von DLSS



Beim Rendern der Szenengeometrie in Spielen (z. B. in einem Dreieck) bestimmt die Anzahl der verwendeten Pixel (oder die Abtastrate - Subpixel-Maske), wie das Bild aussehen soll.



Bild



Wenn Sie ein 4x4-Abtastgitter zum Rendern des Dreiecks verwenden, können Sie sehen, dass das Ergebnis zu wünschen übrig lässt.



Bild



Durch viermaliges Vergrößern des Abtastrasters - bis zu 8x8 - ähnelt das Bild eher dem beabsichtigten Dreieck. Dies ist die Essenz von DLSS: Konvertieren eines Bildes mit niedriger Auflösung in ein Bild mit höherer Auflösung.



Bild

Das Wesentliche von DLSS



Als Ergebnis erhalten Sie bei gleichen Renderkosten wie bei einem Bild mit geringer Qualität ein Bild mit höherer Auflösung.



Bild

Zweck von DLSS



Dies löst tatsächlich das nicht neue Problem der Superauflösung .



Lassen Sie uns einen kurzen Blick darauf werfen, wie sich die Techniken zur Verbesserung der AI-unterstützten Auflösung entwickelt haben.



Einzelbild-Superauflösung



Diese Technik ermöglicht es, hochauflösende Bilder von einem niedrigeren zu erhalten, indem Interpolationstechniken wie bilineare, bikubische und Lanczos-Filter verwendet werden. Sie können es auch mit tiefen neuronalen Netzen implementieren, aber dann gibt es ein Problem der Verzerrung neuer Pixel, die aus den Trainingsdaten erhalten werden. Dies lässt das Bild glaubwürdig erscheinen, aber dem Original nicht zu ähnlich. Die Methode erzeugt ein übermäßig glattes, nicht detailliertes Bild und ist zeitlich instabil, was zu Inkonsistenzen und Flackern der Bilder führt.



Bild

Einzelbild-Superauflösung



Vergleichen wir einige der Ergebnisse dieser Einzelbild-Superauflösungstechniken mit dem, was DLSS 2.0 bietet. Zielauflösung - 1080p









Offensichtlich ist DLSS 2.0 besser als bikubische Interpolation und ESRGAN , eine neuronale Netzwerkarchitektur, die ein generatives gegnerisches Netzwerk verwendet, um eine Superauflösung zu erzielen. Dadurch sehen die Farne bei DLSS 2.0 noch detaillierter aus als im Originalbild.



Multi-Frame-Superauflösung



Diese Methode verwendet mehrere Bilder mit niedriger Auflösung, um ein Bild mit hoher Auflösung zu erzeugen. Es hilft, Details besser als beim vorherigen Ansatz wiederherzustellen. Es wurde hauptsächlich für Video- und Burst-Fotografie entwickelt und verwendet daher keine renderspezifischen Informationen. Ein Beispiel für seine Verwendung ist die Rahmenausrichtung unter Verwendung eines optischen Flusses anstelle von geometrischen Bewegungsvektoren. In diesem Fall sind die Berechnungen billiger und die Ergebnisse genauer. Dieser Ansatz scheint vielversprechender als der vorherige und bringt uns zur nächsten Technik.



Räumlich-zeitliche Super-Probenahme



Diese Methode verwendet mehrere Frames, um Bilder zu übertasten.







Wir haben den aktuellen Rahmen. Nehmen wir an, der vorherige sieht so aus. Durch die Verwendung einer niedrigeren Abtastrate können wir die Gesamtzahl der zur Rekonstruktion des Bildes erforderlichen Abtastungen erhöhen.



Bild

Spatial-Temporal Super Sampling Histogram



Das Problem ist, dass in Spielen alles ständig in Bewegung ist. Um den Frame-Verlauf zu korrigieren, muss dieses Supersampling-Verfahren daher eine heuristische Suche durchführen, beispielsweise nach dem Neighbor Clamping-Prinzip. Diese Heuristiken tragen zu Unschärfe, zeitlicher Instabilität, Moiré, Verzögerung und Geisterbildern bei. Nebenwirkungen von Neighbor Clamping Temporäres Flimmern und Moiré in Bildern mit Neighbor Clamping















DLSS 2.0: Deep Learning-based multi-frame reconstruction



Das neuronale DLSS-Netzwerk lernt aus Zehntausenden von Trainingsbildern, die für eine bessere Rekonstruktion als die Heuristik ausgelegt sind, und eliminiert so deren Auswirkungen. Dies führt zu einem viel besseren Ergebnis bei Verwendung von Daten aus mehreren Frames.



Bild



Bei der Implementierung von DLSS in der Engine muss die Szene zunächst in niedriger Auflösung gerendert werden: Geometrie, dynamische Beleuchtung, Effekte im Bildschirmbereich und Raytracing. Danach kann DLSS in der Phase angewendet werden, in der normalerweise Anti-Aliasing auftritt. Schließlich führt die Technologie nur mit Super-Sampling genau dieselbe Funktion aus. Anschließend erfolgt eine Nachbearbeitung des Bildes, einschließlich Bewegungsunschärfe, Blüte, chromatischer Aberration, Tonabbildung und anderer Effekte.







DLSS ist nicht nur ein Bildverarbeitungsalgorithmus. Es funktioniert normalerweise in Verbindung mit dem Rendern, daher muss auch sein Prozess überprüft werden. Im Fall von DLSS 2.0 sind diese Änderungen jedoch nicht mehr so ​​schwierig zu implementieren wie zuvor.



Leistungstests



Bild



Der neueste Titel Remedy Control unterstützt sowohl Ray Tracing als auch DLSS. Wie Sie in der obigen Grafik sehen können, erhielt der RTX 2060 durch DLSS eine Leistungssteigerung von 8 fps auf etwa 36,8 fps, was die Spielbarkeit des Projekts erheblich verbesserte. Dieses Ergebnis ist sogar noch besser als beim RTX 2080ti ohne DLSS, was die Wirksamkeit dieser Technologie weiter unter Beweis stellt.



Digital Foundry verglich die Bildqualität mit DLSS 1.9 und 2.0 in diesem Video.





Links - Steuerung mit DLSS 1.9, rechts - mit DLSS 2.0. Bilder, die auf einem RTX 2060 mit 1080p aufgenommen und dann auf 4K hochskaliert wurden



Im obigen Vergleich können wir sehen, wie DLSS 2.0 bei DLSS 1.9 verzerrte Haarsträhnen rendert.



Fazit



DLSS ist nur für RTX 2000- und Turing-basierte GPUs (und kommende Ampere-basierte RTX 3000-GPUs) verfügbar und unterstützt derzeit nur eine Handvoll Spiele. DLSS 2.0 wird von noch weniger Titeln unterstützt, aber der Detaillierungsgrad kann sogar das Originalbild übertreffen, während die Bildrate hoch bleibt. Dies ist eine wirklich coole Leistung für NVIDIA, und die Technologie hat definitiv eine vielversprechende Zukunft.



All Articles