26

Die neue Kantenglättung von nVidias Turing: Deep Learning Super Sample (DLSS)

Bei der Turing-Generation bringt nVidia mittels "Deep Learning Super Sample" (DLSS) eine neue Kantenglättung daher, welche im Gegensatz zum früher schon erwähnten "Adaptive Temporal Antialiasing" bereits spruchreif ist und seiten nVidia massiv bei den Turing-Grafikkarten promoted wird. Als Post-Processing-Verfahren kann DLSS grundsätzlich von jedem Spiel benutzt werden, das Spiel muß aber dennoch darauf vorbereitet sein, es handelt sich also nicht um ein Treiber-seitig aktivierbares Kantenglättungs-Verfahren. Zwar wird es tiefergehende Details samt Bildqualitäts-Vergleichen zu DLSS sicherlich erst mit dem kommenden Turing-Launch (14. September 2018) geben, aber dennoch kann man auf Basis der bisherigen nVidia-Informationen sowie Berichten der Gamescom-Fachbesucher dennoch schon ein gewisses Bild zu DLSS zeichnen: Hierunter verbirgt sich eine adaptive Kantenglättung in einem bislang noch nicht genauer erläuterten technischen Verfahren, deren Clou primär in einem vorhergehenden Mustererkennungs-Training der zu glättenden Kanten liegt. DLSS weiss also vor der eigentlichen Kantenglättung bereits, was Kante und was nur Farbübergang ist – und ist demzufolge in der Lage, seine Kantenglättung gezielt nur auf den reinen Kanten anzusetzen.

Die Mustererkennung erfolgt auf Basis eines vorherigen Trainings (direkt bei nVidia), bei welchem ein Supercomputer dieselben Render-Bilder einmal ohne Kantenglättung und einmal mit (perfekter) Kantenglättung vergleicht. Das hiermit erzeugte Mustererkennungs-Set wird dann von der Turing-Grafikkarte zur Live-Mustererkennung benutzt, hierfür kommen die Tensor Cores zum Einsatz. Selbige rechnen dann wohl auch die eigentliche Kantenglättung aus – wobei noch unklar ist, welches Verfahren nVidia hierfür genau ansetzt. Daß das Musterkennungs-Training im Supercomputer unter 64x Supersampling erfolgt, bedeutet dabei nicht, das die DLSS-Kantenglättung dann direkt 64x Supersampling entsprechen würde. Im genauen wird schließlich nur die auf den Turing-Grafikkarten laufenden Live-Mustererkennung anhand der Qualität von 64x Supersampling durchgeführt – und nachdem dann diese Live-Mustererkennung durchgeführt wurde, kommt dann die eigene DLSS-Kantenglättung zum Einsatz, über deren genaue Wirkungsweise wie gesagt noch keine Informationen vorliegen. Aber da das ganze augenscheinlich am Ende der Rendering-Pipeline passiert ("Post Processing"), hat es zumindest keinen Effekt auf das normale Rendering – es werden keine Zusatzinformationen, Subpixel oder höhere Auflösungen benötigt (mit einer Ausnahme: wegen einer temporalen Komponente braucht es wohl auch noch gewisse Bewegungsinformationen).

Denkbar, daß das hierbei letztlich zum Einsatz kommende Kantenglättungs-Verfahren spektakulär einfach ist bzw. nichts mit einer auf mathematischen Formeln basierender Kantenglättung zu tun hat – es steht schließlich im Gegensatz zu anderen Kantenglättungs-Verfahren die Information zur Verfügung, was überhaupt eine Kante ist, ergo könnte man selbige Kante dann auch einfach 100%ig glatt nachzeichnen. Im Idealfall würde das ganze sogar Performance-technisch nahezu kostenlos erfolgen können, wenn nur die Tensor Cores belastet werden und hierfür im Power-Budget der Grafikkarte noch entsprechende Reserven existieren (geht es hingegen über das Power-Budget hinaus, werden die Taktraten des gesamten Grafikchips sinken, womit es dann doch etwas an Performance kostet). DLSS hat im übrigen (nach derzeitigem Wissen) nichts mit einem Upscaling bzw. Rendering in niedrigerer interner Auflösung zu tun, diese Diskussion hatte sich anhand einer mißinterpretierbaren nVidia-Aussage ergeben. Es ist jedoch kein Ansatzpunkt dafür zu sehen, das mittels DLSS die interne Render-Auflösung verringert würde – DLSS rechnet (nach derzeitigem Wissen) mit dem ganz normalen Bild in jener Auflösung, welche der Nutzer als Monitorauflösung eingestellt hat.

Die erreichbare Kantenglättungs-Qualität könnte sicherlich erstklassig sein, da ja nur die (ansonsten im Gaming-Einsatz beschäftigungslosen) Tensor Cores zum Einsatz kommen und vor allem das ganze voll adaptiv stattfindet: Es gibt die Kantenglättung ausschließlich auf zuvor erkannte Kanten – und nicht auf das gesamte Bild, was eine ungeheure Arbeitsersparnis ergibt. Eben wegen dieser Herangehensweise sollten auch keine der bei anderen Kantenglättungs-Verfahren üblichen Bildfehler mit dabei sein: Kein Weichzeichner-Effekt auf das gesamte Bild, keine vernichteten Texturen-Details, keine grundsätzlich von der Glättung ausgelassenen Kanten. Auch eher kritische Fälle wie Astwerk dürften sich nach ausreichendem Supercomputer-Training problemlos vernünftig glätten lassen – ohne der Vernichtung von Details und ohne Weichzeichner-Effekt. Bislang gibt es zur Bildqualität von DLSS allerdings nur die Stimmen von Gamescom-Fachbesuchern, als aussagekräftigte Einschätzung sei hiermit die diesbezügliche (subjektive) Aussage der ComputerBase zitiert, welches sich Epics Infiltrator-Demo einmal mit TAA und einmal mit DLAA ansehen konnten:

Zunächst war die Kantenglättung selbst deutlich besser. Das TAA behandelt in der Demo manche Kanten zwar sehr gut, andere dagegen aber weniger, sodass das Bild flimmert. Mit DLSS werden die Kanten dagegen fast durchgängig besser geglättet, sodass das Bild ruhiger erscheint. Darüber hinaus verliert die Demo mit TAA etwas an Bildschärfe. Das Problem zeigt sich mit DLSS nicht. Und zu guter Letzt gibt es kleinere Bildelemente, die mit TAA nicht mehr korrekt dargestellt werden, mit DLSS aber schon. Schlussendlich ist das DLSS in Epics Infiltrator-Demo sichtbar besser als das Temporal Anti-Aliasing.
Quelle:  ComputerBase

Über diese (grobe) Erklärung zur Funktionsweise wird dann auch letztlich verständlich, wieso nVidia den Performancegewinn der Turing-Generation ohne DLSS mit grob +50% angibt, mit DLSS aber gleich mit grob +100%. Das DLSS-Verfahren steigert zwar nicht die eigentliche Performance, aber vergleichbare Kantenglättungs-Verfahren (wie das von nVidia genannte TAA, welches Multisampling mit einer temporalen Komponente verbindet) kosten halt nach wie vor einiges an Performance – logisch wenn es um Multisampling geht, denn mittels jenem wird noch in der Rendering-Pipeline auch wirklich mehr berechnet. Ob DLSS wirklich für den Sprung zwischen +50% zu +100% Performancegewinn bei der Turing-Generation ausreicht, müssen dann die kommenden unabhängigen Testberichte erweisen. Möglicherweise rechnet sich nVidia hier etwas zu schön über das angesetzte vergleichsweise Kantenglättungs-Verfahren – aber einen gewissen Performanceffekt wird DLSS schon haben, sofern es erwartungsgemäß funktioniert. Natürlich wird es auch die Aufgabe der Hardwarertester sein, dann mit der Lupe der Kantenglättungs-Qualität von DLSS nachzugehen – um vor vergleichenden Benchmarks eine (wenigstens halbwegs) vergleichbare Bildqualität sicherzustellen.

Bezüglich der Qualitäts-Frage kann es schließlich passieren, das die Mustererkennung an einzelnen Bildteilen versagt und fälschlicherweise eine Kante nicht erkennt – welche dann nachfolgend (gänzlich) nicht glättet wird. Für den Gesamteindruck des Bildes dürfte ein solcher einzelner Fehler allerdings nicht maßgeblich sein, denn wenn 99,5% aller Kanten perfekt geglättet sind, fällt die eine ungeglättete Kante kaum auf. Es ist zudem auch unwahrscheinlich, das ein solcher Mustererkennungs-Fehler bei einer gut sichtbaren Kante auftaucht – dies dürfte eher in kleineren, kaum sichtbaren Fällen vorkommen. Daneben kann es rein theoretisch natürlich passieren, das ein Spiel aufgrund seiner sehr speziellen Gestaltung vielleicht anfänglich Probleme bei der Mustererkennung aufwirft, sprich regelrecht viele ungeglättete Kanten ausgibt. Dann wird nVidia aber ganz einfach das Supercomputer-basierte Training neu anhand dieses Spiels anwerfen: Gefüttert mit ungeglätteten sowie (notfalls manuell) perfekt geglätteten Referenzbildern aus speziell diesem Spiel sollte man dieses Problem umgehend lösen können. Das neue Musterkennungs-Set würde dann schlicht nachgeliefert – ob per Treiber oder Spiel-Update, ist eigentlich gleich. Die gesamte Live-Mustererkennung läuft natürlich offline (rein im Grafikchip), nur können rein offline keinen neuen Mustererkennungs-Sets nachgeladen werden.

An dieser Stelle liegt dann auch unser einziges wirkliches Problem mit DLSS: nVidia liefert die Mustererkennungs-Sets leider nicht per Treiber aus, sondern augenscheinlich nur per GeForce Experience. Damit muß man sich dann auch bei nVidia registrieren und zum Erhalt neuer Mustererkennungs-Sets jenes nVidia-Tool ab und zu mitlaufen lassen, unter Umständen sogar ständig (falls der Treiber selbst lokal liegende Mustererkennungs-Sets nicht ohne GeForce Experience einladen kann). Dies mag für den einen ein geringfügiges Ärgernis darstellen, für andere geht es hierbei ums Prinzip: Für ein vollständig bezahltes Produkt sollten keine weiteren Rechtsakte notwendig sein, wie die Annahme der Lizenz zu GeForce Experience einen selbigen darstellt. Und gleichfalls hat das vollständig bezahlte Produkt auch den vollen Produktumfang inklusive des versprochenen Supports zu enthalten, ohne jegliche Bedingungen und Zwang zu zusätzlichen Tool, AGBs etc. Da DLSS sowohl ganz am Anfang als auch langfristig (wegen neu erscheinender Spiele) nur mit der Nachlieferung von neuen Mustererkennungs-Sets sinnvoll erscheint, gehören selbige nicht in ein extra Produkt wie GeForce Experience hinein – sondern zum originalen Produkt in Form der Grafikkarte hinzu, und damit eben nur in deren Treiber hinein.

Es gibt hierzu sogar Bedenken, ob nVidia das ganze nicht nur zum Puschen von GeForce Experience benutzten könnte, sondern letztlich auch als Einstieg für einen späteren Abo-Dienst – wo es gewisse Leistungen, die Cloud-basiertes Rechnen erfordern, nur noch mittels extra Accounts und später extra Bezahlung im Abonnement gibt. DLSS eignet sich hierfür noch nicht wirklich, da für DLSS ja nur ab und zu neue Mustererkennungs-Sets heruntergeladen werden müssen – etwas, was zu wenig ist, um da eine Gebühr dran zu hängen. Dies kann mit zukünftigen Innovationen aber auch ganz anders aussehen, denn insbesondere die kommende Grafikberechnung per RayTracing wird alte Gepflogenheiten komplett umkrempeln und damit clever denkenden Fast-Monopolisten durchaus Möglichkeiten an die Hand geben, die darauf folgenden Neuerungen vorsätzlich zugunsten der eigenen Kasse & Markstellung zu modellieren. Sofern nVidia sich nicht dazu durchringen sollte, die Mustererkennungs-Sets für DLSS auch in den normalen Treiber zu packen, tritt jenes eigentlich sehr hoffnungsvoll aussehende Feature mit einem durchaus schlechten Vorzeichen an.

Nachtrag vom 3. September 2018

Zum Fall der Turing-Kantenglättung "Deep Learning Super Sample" (DLSS) und deren scheinbar erstklassiger Performance gemäß den Performance-Versprechen seitens nVidia wären noch erhebliche Bedenken zu erwähnen, welche die Seriosität dieser Performance-Daten anzweifeln. Denn nVidia verspricht hier (nur in den sechs mit DLSS gemessenen Spielen) eine Turing-Performance ohne DLSS von im Schnitt +45% höher als bei Pascal, mit DLSS dann um +103% höher. Die Differenz dessen liegt bei +40% Mehrperformance durch DLSS gegenüber herkömmlichen Anti-Aliasing bzw. einer um -29% geringeren Performance, wenn man DLSS zugunsten von herkömmlichem Anti-Aliasing nicht benutzt. Die hierzu aufkommende Frage ist natürlich, welche Kantenglättung nVidia hierfür zum Vergleich genutzt hat – denn es gibt heutzutage kaum noch Anti-Aliasing-Verfahren, welche derart hohe Performanceanforderungen (auf Spitzen-Grafikkarten) aufweisen. Multisampling Anti-Aliasing wie bei nVidias TAA wäre hierzu sicherlich geeignet, aber Multisampling funktioniert auf einigen von nVidias Testspielen Engine-bedingt gar nicht und scheidet damit mehrheitlich aus. Was nVidia uns hier erzählen will, dürfen die Hardwaretester zum Turing-Launch gern noch explizit herausarbeiten – vielleicht ertappt ja jemand nVidia sogar bei einer glatten Fehldarstellung. Normalerweise sind solcherart Performance-Folien der Grafikchip-Entwickler zumindest in den letzten Jahren allerdings eher belastbar gewesen – da man sich des Punkts gewiß sein kann, das die Aussagen dieser Folien nachgeprüft werden.

Nachtrag vom 14. September 2018

Es klärt sich nun auch endlich auf, wie nVidia seine neue "Deep Learning Super Sample" (DLSS) Kantenglättung rein technisch löst. Wie bekannt, liegt der Clou von DLSS in der Hinzufügung von Glättungsinformationen aus der Cloud, in welcher das jeweilige Spiel (vorab) seitens nVidia mittels Vergleichsbildern auf 64x Supersampling trainiert wurde. Für DLSS gibt es dann zwei Modi, das normale DLSS sowie ein "DLSS 2X" – mit sehr voneinander abweichendem Ansatz. Denn das normale DLSS arbeitet nun tatsächlich schlicht mit einer intern reduzierten Renderauflösung – der ganze Trick besteht also in einem klassischen Upscale-Filter, wenngleich jener sicherlich mit einer hochqualitativen Kantenglättungs-Datenquelle aus der Cloud gefüttert wird. Die interne Renderauflösung von DLSS ist dabei nicht auf einen bestimmten Wert festgesetzt, sondern unterscheidet sich von Spiel zu Spiel – hier liegt jedoch in jedem Fall der Grund für die mit DLSS bisher präsentierten erheblichen Performancegewinne. Ob diese technische Herangehensweise Begeisterungsstürme auslöst, wäre zu bezweifeln – gerade da nVidia in aller Regel seine Benchmarks unter dem normalen DLSS erstellt, die allermeisten Bildqualitätsvergleiche jedoch vom höherwertigen DLSS 2X stammen.

Bei jenem DLSS 2X wird die interne Renderauflösung dann eben nicht verändert, sondern entspricht dem, was der Spieler eingestellt hat. Demzufolge kommt auch nur in DLSS 2X garantiert eine höhere Bildqualität heraus – während dies beim normalen DLSS sicherlich einen Streitpunkt darstellt. Technisch gesehen stellt das normale DLSS schlicht ein Rendering in einer niedrigen Auflösung mit dann sicherlich sehr guter Kantenglättung oben drauf dar – aber es würde verwundern, wenn da kein beachtbarer Informationsverlust innerhalb von Texturen & Geometrie etc. auftritt. Leider liefern die diversen Architektur-Berichte hierzu noch keine wirklich guten Informationen, sondern zu allermeist nur nVidias Marketingmaterial, nicht jedoch eigene Screenshot-Vergleiche. Womöglich sind jene derzeit aber auch einfach noch nicht zulässig, das NDA für die einzelnen Grafikkarten GeForce RTX 2080 & GeForce RTX 2080 Ti läuft bekannterweise erst am 19. September aus. Dann wird es in jedem Fall unabhänige Benchmarks zu diesen Grafikkarten geben – und hoffentlich auch die sicherlich notwendigen Screenshot-Vergleiche zur Beurteilung der Bildqualität des normalen DLSS.