Was macht DLSS?
DLSS von Nvidia verspricht einen ordentlichen Schub im Bereich der Bildwiederholrate, vor allem wenn
Raytracing oder andere Leistungsfresser bei den Grafikoptionen eingeschaltet werden. Es ist ein Upscaling-Verfahren und rechnet daher ein Bild von einer niedrigen Auflösung auf eine höhere Auflösung "hoch" und erhält bzw. ergänzt dabei möglichst viele Details. So wird das Spiel in einer niedrigen Auflösung gerendert, was meist viel Rechenleistung gespart. Danach wird dieses Bild hochskaliert und mit KI-Methoden grafisch verbessert.
Ist die Zielvorgabe, ein natives 4K-Bild (3840x2160; Seitenverhältnis: 16:9) zu realisieren, so müssen 8.294.400 Pixel berechnet werden. Möchte man ein Full-HD-Bild (1920x1080: 2.073.600 Pixel) auf die 4K-Auflösung "aufblasen", dann müssen irgendwie mehr als 6 Mio. Pixel nachträglich gefüllt werden. Warum sollte man überhaupt ein Bild hochskalieren wollen? Je niedriger die Auflösung eines gerenderten Bildes ist, desto weniger Leistung oder Rechen-/Renderaufwand ist erforderlich. So können im Regelfall die Frames/Bilder in 1080p deutlich schneller als in 4K berechnet werden, was sich logischerweise auf die mögliche Bilderwiederholrate (in Hz oder fps: Bilder pro Sekunde) auswirkt. Stellt man sich noch vor, dass 30, 60 oder gar 144 Bilder pro Sekunde für ein flüssiges Spielerlebnis realisiert werden sollen, kann man sich in etwa die Komplexität solch eines Rechengeschehens vorstellen.
Wer kein Interesse an den Hintergründen hat, sollte gleich zu den Benchmarks ab Seite 4 springen.
Woher kommen die fehlenden Pixel?
Spiele mit aufwändigen Raytracing-Effekten (hier: LEGO Builder's Journey) profitieren enorm von dem Performance-Boost durch DLSS.
Um die fehlenden Pixel bei einer Hochskalierung wie bei einem Lückentext zu füllen, gibt es mehrere Methoden, die mehr Rechenleistung sparen, als wenn jeder Pixel einzeln berechnet werden würde.
"Einfache" Ansätze versuchen z.B. die Farbwerte "fehlender" Pixel anhand der in der Umgebung befindlichen Pixel zu nehmen (Interpolation benachbarter Farbwerte) und ggf. einen Farbverlauf zwischen den vorhandenen Pixeln zu erstellen, um die Freiräume zu schließen, was das Endergebnis jedoch stark weichzeichnet und unscharf macht. Generell gilt: Je mehr Informationen zur Lückenfüllung genutzt werden können, desto besser kann das Ergebnis ausfallen.
Eine andere Methode ist das
Checkerboard Rendering, das Bildelemente beim Rendern wie bei einem Schachbrett entfernt und später die "leeren Felder" wieder durch Nachbarschaftsvergleiche füllt. Abermals gilt, dass die Farbe des fehlenden Pixels die Durchschnittsfarbe der umgebenden Pixel ist, wobei die von Sony verwendete Methode deutlich komplexer ist (Details bei
Medium.com).
Künstliche Intelligenz im Einsatz
Die fehlenden Pixel für eine Hochskalierung von einer künstlichen Intelligenz füllen zu lassen, diese Methode ist die Grundlage von DLSS. Die Hochskalierung plus Kantenglättung wird von einem speziell trainierten KI-System übernommen, welches die Hochskalierung (vereinfacht gesagt) anhand von sehr großen Ausgangsbildern erlernt hat. Die erlernten Elemente und Regeln können dann dazu genutzt werden, um (dem KI-System unbekannte) Bilder hochzuskalieren und die Freiräume mit hoffentlich sinnvollen Pixelfarben zu füllen.