Notiz Deep Learning Super Sampling: Unreal Engine 4 unterstützt Nvidia DLSS jetzt nativ

Kabelkasper schrieb:
Und dazu ein paar anständige Programmierer die die Spiele optimieren können und auch wollen.

Bitte nicht alles auf die Programmierer schieben, sie haben Vorgesetzte und diese haben neben weiteren Vorgesetzten auch einen Auftraggeber. Scheiße fällt leider immer nach unten und der enorme Zeitdruck wird ebenfalls immer nach unten weitergegeben. Wenn es der Auftraggeber nicht will, kann der Programmierer nichts dafür. Der Programmierer wird wollen, zu 100% sogar, nur darf er nicht. Oder er programmiert die tollen Features, natürlich Bugfrei, in seiner Freizeit ohne Bezahlung.
 
Sicher nur ein Strohfeuer! Dann wird halt weniger optimiert! Spätestens wenn AMD auch so etwas hat....
 
Qarrr³ schrieb:
Falls keine Ironie: Geht natürlich nicht, weil proprietäre Lösung. Dafür gibt es ja bald DirectM als Teil von dx12.
Ich denke auch, dass AMD mit Microsoft eine gute Chance mit SuperFidelity hat. Microsoft muss zwingend die Xbox Leistung auf TV-4k Niveau optimieren, mit DirectX sitzen Sie an der Schnittstelle. Wenn das als Plugin in Directx 12 Ultimate integriert wird, kann und wird das bald jedes Spiel nutzen (können)?

Kennt sich hier jemand aus?

Für mich als Laie scheint es klüger zu sein, auf DirectX zu setzen anstatt nun jede einzelne Engine auf dem Markt auf DLSS zu optimieren. Zumal man für DLSS auch noch die speziellen Nvidia Kerne braucht, also physische Hardware und somit einen Teil des Marktes ausschließt. Da hätte ich als Spieleentwickler wenig Bock drauf.

DLSS auf der 3060 TI war echt gut in Cyberpunk, bin absolut gespannt wie Super Fidelity wird.
 
Stampfi82 schrieb:
DLSS auf der 3060 TI war echt gut in Cyberpunk, bin absolut gespannt wie Super Fidelity wird.

FidelityFX war in Cyberpunk auch bei schwächeren Radeons gut, um deutlich mehr Fps zu bekommen, nur halt ohne Raytracing, aber daran kann man halt schon sehen, was uns in etwa mit FidelityFX Super Resolution erwartet. Klar ist nicht ganz vergleichbar, aber das Ergebnis könnte ähnlich aussehen - mehr Fps ohne die eigentliche native Auflösung zu reduzieren.
 
  • Gefällt mir
Reaktionen: Stampfi82
DLSS und Raytracing sind zwei definitiv tolle Features. Aber die Vergangenheit hat uns doch gezeigt, dass Features die nicht von beiden Herstellern langfristig umgesetzt werden früher oder später wieder verschwinden. Eine Zeit lang gab es einen sehr großen Hype um PhysX. Doch weil von AMD nichts Ähnliches kam, war es für die meisten Entwickler nicht lukrativ genug eine kleine Nische zu bedienen. Außerdem werden heutzutage die meisten Games für Konsolen als Lead-Plattform entwickelt und häufig lieblos für den PC portiert.
 
  • Gefällt mir
Reaktionen: RogueSix
Stampfi82 schrieb:
Ich denke auch, dass AMD mit Microsoft eine gute Chance mit SuperFidelity hat. Microsoft muss zwingend die Xbox Leistung auf TV-4k Niveau optimieren, mit DirectX sitzen Sie an der Schnittstelle. Wenn das als Plugin in Directx 12 Ultimate integriert wird, kann und wird das bald jedes Spiel nutzen (können)?

Kennt sich hier jemand aus?
Zum Einen muss das Spiel immer, wenn auch nur minimal, angepasst werden. Einfach reinhooken ist nicht. Zum Anderen macht Microsoft auf der Xbox was via DirectML. AMD FFSS wird wohl nach allem was bisher bekannt ist, nicht auf DirectML basieren.
 
  • Gefällt mir
Reaktionen: Stampfi82
foo_1337 schrieb:
Zum Einen muss das Spiel immer, wenn auch nur minimal, angepasst werden. Einfach reinhooken ist nicht.
Gibt einige Paper, die sich mit upscaling und Zwischenbildberechnung von Videomaterial beschäftigen und auch gute Ergebnisse liefern. Ich denke mittelfristig dürften die so gut werden, dass es tatsächlich wie AA genutzt werden kann.
 
Bin ja gespannt wann die Cryengine nachzieht

aber da scheint was zu kommen:
1613413090221.png
 
Stampfi82 schrieb:
Kennt sich hier jemand aus?

Für mich als Laie scheint es klüger zu sein, auf DirectX zu setzen anstatt nun jede einzelne Engine auf dem Markt auf DLSS zu optimieren. Zumal man für DLSS auch noch die speziellen Nvidia Kerne braucht, also physische Hardware und somit einen Teil des Marktes ausschließt. Da hätte ich als Spieleentwickler wenig Bock drauf.
Du musst auch so schon sämtliche AA- Verfahren, die nicht rein Post- processing orientiert arbeiten, gesondert in die Engine integrieren. Nix DirectX. Das ist nur ein abstraction- layer.

Ob Du da jetzt den Call statt auf die Ursprungsroutine auf das Plugin setzt macht aufwandstechnisch keinen Unterschied...
 
  • Gefällt mir
Reaktionen: Stampfi82 und noxon
DLSS ist ja ähnlich wie TAA einfach nur eine Art Filter. Die werden in keinerlei API implementiert. Um die zu Implementieren nutzt man eine API wie DirectX. Das ist ein Unterschied.

Nvidia hat DLSS während dessen Entwicklung auch bereits in DirectML implementiert. Da man in DirectML aber die Tensor Kerne nicht direkt ansprechen konnte war die Performance nicht so gut wie bei der CUDA Implementation.
Ob die Tensor Kerne genutzt werden oder nicht entscheidet DirectML nämlich selbstständig und nicht der Entwickler und in der Hinsicht hat DirectML nicht immer die optimale Lösung gewählt. DirectML hat sehr oft Berechnungen auf den Shadern durchgeführt, die man eigentlich auf den Tensor Kernen hätte durchführen sollen. Auch die Art der Berechnungen ließen sich dort nicht so fein und säuberlich bestimmen wie mit CUDA.
Deswegen bietet Nvidia DLSS bisher nur in Form einer CUDA Implementation an, weil die halt deutlich performanter sein soll.
Das bedeutet aber nicht, dass Nvidia auch mal eine DirectML Implementation anbieten wird, wenn DirectML einmal den entsprechenden Reifegrad erreicht hat.

DLSS ist aber auch kein Hexenwerk und ähnlich wie TAA könnte jeder Spieleentwickler theoretisch auch seine eigene Form von DLSS selbst entwickeln und so implementieren, wie er es für sein Spiel am Besten hält.
Auch das halte ich nicht für völlig ausgeschlossen.
Wenn, dann erwarte ich das als erstes eigentlich von Ubisoft. Die haben schon immer für ihre Engine eigene Verfahren entwickelt und momentan scheinen sie auch sehr schwer im KI-Bereich zu forschen. Würde mich nich wundern, wenn die ihr eigenes auf Shadern laufendes DLSS Verfahren implementieren.
 
  • Gefällt mir
Reaktionen: cruse
RAZORLIGHT schrieb:
Würde ich mir für DLSS 3.0 auch wünschen, dass es einfach überall funktioniert.
War nicht lange die Rede davon dass DLSS3.0 nativ überall funktioniert wo TAA implementiert ist und dieses quasi ersetzt?
 
David_B schrieb:
War nicht lange die Rede davon dass DLSS3.0 nativ überall funktioniert wo TAA implementiert ist und dieses quasi ersetzt?
Das DLSS theoretisch überall dort funktioniert wo TAA funktioniert, ist zwar korrekt, aber das heißt nicht, dass es sich bei DLSS und TAA auch um ähnliche Techniken handelt die man einfach so gegeneinander austauschen kann.
DLSS und TAA werden zwar an gleicher Stelle in die Renderpipeline implementiert und jede Engine die TAA beherscht bietet auch die technischen Vorraussetzungen an dessen Stelle DLSS zu implementieren, aber die Inputs und Outputs der Beiden unterschieden sich schon erheblich, sodass man die nicht einfach so austauschen kann.

Bei DLSS müssen zum Beispiel auch die ganzen nachgelagerten Postprocessing Filter anders programmiert werden, weil der z-buffer in geringerer Auflösung vorliegt als die Renderauflösung, als wenn TAA zum Einsatz gekommen wäre.

Das ist ein Problem das DLSS hat. Tiefinformationen werden in geringer Auflösung berechnet und später müssen die Postprocessing Filter dieses niedig auflösende Tiefeninformation dazu verwenden um hochauflösende Postprocessing Effekte zu berechnen. Das Problem hat TAA nicht und deswegen werden die ganzen PP Filter dort anders aussehen. Einfachste Lösung ist natürlich man upscaled den z-buffer und fertig, aber das soll soweit ich mich erinnere nicht unbedingt die besten Ergebnisse bieten.

Es wird also keine Version geben, wo man das TAA einfach so durch DLSS ersetzen kann ohne das Entwickler da Hand anlegen müssen.
 
andr_gin schrieb:
Wenn AMD eine qualitativ vergleichbare Lösung bringt ist DLSS tot weil dann wird die AMD Lösung für Konsolen entwickelt und beim Portieren gleich übernommen.
Muss nicht zwingnd sein, dass DLSS dann tot ist, wir könnten auch sehen, dass NVIDIA und AMD dann ggf. an einem gemeinsamen "Standard" arbeiten. *Ich werde ja wohl noch träumen dürfen. ;)

andr_gin schrieb:
Allerdings muss AMD einmal zeigen, dass sie überhaupt mithalten können. Nvidia schafft die DLSS 2.0 Qualität nur da sie extra Tensor Cores verbaut haben. AMD scheint generell einen ganz anderen Ansatz zu verfolgen und es muss sich erst zeigen inwiefern dieser überhaupt besser ist als die bekannten Scalingalgorithmen.
Nein, NVIDIA schafft die DLSS 2.0 Qualität nicht, weil sie extra Tensor-Cores haben. DLSS1.0 lief ja über die Shader und auch DLSS2.0 kann man über die Shader laufen lassen.

Die DLSS2.0 Qualität schafft NVIDIA, weil DLSS nicht mehr rein auf Deepl Learning basiert, sondern nun auch klassische Upscaleing-Algoritmen hinzu gezogen werden, die auf verschiedenen Ansätzen - temporale Ansätze, Subrendering usw - aufbauen.

Die KI ist dann zwar immer noch wichtiger Bestandteil, aber nicht mehr allein.

foo_1337 schrieb:
Da FFX SR wohl nicht auf deep learning basieren wird, habe ich da meine Zweifel. Aber lassen wir uns mal überraschen. MS macht jedoch für die Xbox was DirectML basiertes und Sony macht auch was deep learning basiertes.
Man muss ja nicht unbedingt auf Deep Learning aufsetzen, es gibt da ja einige interessante Verfahren für, de auch sehr gut greifen und durch das herauslassen von DL, kann das Ergebnis sogar vohersehbarer werden.

Tornavida schrieb:
Sehr gut und absehbar bei so einem Feature.So langsam kommen v.a. die 6900XT Käufer sicher ins Grübeln.Meine habe ich jedenfalls verkauft und bin froh früh auf die 3080 gesetzt zu haben.
Und warum sollte Sie? die Titel, die aktuell DLSS1.0 und 2.x unterstützen kann man immer noch gefühlt an 2 Händen abzählen. ;)

Klar, es kommt jetzt als Plugin in die UT, was helfen wird, nur muss man hier als Spieleentwickler immer noch einiges an Aufwand betreiben.

Es wird NVIDIA helfen, am Ende müssen wir alle uns aber überlegen, ob wir als Spieler wirklich diesen Properitären ansatz wirklich gut finden wollen.

3dFX Glide war auch toll und doch bin ich froh, dass sich DX und OpenGL durchgesetzt hat und man nun die Wahl hat.

Und das hoffe ich auch irgendwie bei DLSS, dass wir hier von MS und Co eventuell etwas unabhängies bekommen.
Kabelkasper schrieb:
Und dazu ein paar anständige Programmierer die die Spiele optimieren können und auch wollen.
Na ja ... Optimieren tuen sie alle, nur sollte einige langam verstehen, dass gewisse Sachen einfach nicht weiter optimiert werden können.

Wer Super-duper-Hyper-Grafik will, muss eben damit leben dass die Spiele immer Größer werden usw.
Dirk aus F. schrieb:
Sicher nur ein Strohfeuer! Dann wird halt weniger optimiert! Spätestens wenn AMD auch so etwas hat....
Mal abwarten.
 
Teralios schrieb:
Muss nicht zwingnd sein, dass DLSS dann tot ist, wir könnten auch sehen, dass NVIDIA und AMD dann ggf. an einem gemeinsamen "Standard" arbeiten. *Ich werde ja wohl noch träumen dürfen. ;)

Die Lösung von AMD ist ein gemeinsamer Standard und sie funktioniert auch auf Konsolen. Ist die Qualität bzw. Performance vergleichbar, so werden alle Spiele diese Lösung auf Grund der Konsolen unterstützen und dann 1:1 auf den PC portiert werden.
Nvidia wird dann einfach auch den offenen Standard unterstützen.

Nein, NVIDIA schafft die DLSS 2.0 Qualität nicht, weil sie extra Tensor-Cores haben. DLSS1.0 lief ja über die Shader und auch DLSS2.0 kann man über die Shader laufen lassen.

Ja und die Qualität und Performance von DLSS 1.0 war auch genau auf dem Level, den man von einer shaderbasierten Lösung erwarten kann, was wohl auch der Grund ist, warum dies nicht schon viel früher jemand probiert hat.

Die DLSS2.0 Qualität schafft NVIDIA, weil DLSS nicht mehr rein auf Deepl Learning basiert, sondern nun auch klassische Upscaleing-Algoritmen hinzu gezogen werden, die auf verschiedenen Ansätzen - temporale Ansätze, Subrendering usw - aufbauen.

Mag sein, dass dies auch einen Einfluss hat aber abgesehen von den optischen Verbesserungen gab es in erster Linie Verbesserungen bei der Performance. DLSS 1.0 hat mit der Renderingauflösung des Performance Mode gearbeitet. DLSS 2.0 schafft beim Quality Mode dieselbe Framerate.
Nicht nur dass die Tensor Kerne schneller sind: Sie machen das parallel zu den Shadern und beieinflussen deren Leistung kaum.

Die KI ist dann zwar immer noch wichtiger Bestandteil, aber nicht mehr allein.

Interessant zu wissen aber ich denke einmal der Hauptvorteil daraus war eher, dass man nun mit dem generischen Modell durchkommt.

Man muss ja nicht unbedingt auf Deep Learning aufsetzen, es gibt da ja einige interessante Verfahren für, de auch sehr gut greifen und durch das herauslassen von DL, kann das Ergebnis sogar vohersehbarer werden.

Es gibt eine Menge Verfahren, die wirklich hervorragende Ergebnisse produzieren. Die Frage davon ist welche performant genug sind um dies bei 4K und 100fps immer noch schaffen ohne mehr als 10-20% der GPU Ressourcen zu verbrauchen.

Und warum sollte Sie? die Titel, die aktuell DLSS1.0 und 2.x unterstützen kann man immer noch gefühlt an 2 Händen abzählen. ;)

Die meisten Spiele unterstützen es nicht, weil sie so alt sind, dass DLSS 2.0 noch kein Thema war als sie entwickelt wurden und die entsprechenden Entscheidungen getroffen wurden. Mittlerweile wird ein großer Teil der neuen AAA Titel unterstützt. Die kleineren Titel sind derzeit noch nicht so performancehungrig dass es notwendig wäre und werden wohl in Zukunft mit dem Unreal Engine Plugin DLSS haben und wenn bereits die kleinen Titel DLSS unterstützen werden es die großen auch bald tun müssen. Das ist wie mit TAA. Da sieht man heute auch nicht mehr viele Spiele, die es nicht unterstützen.

Klar, es kommt jetzt als Plugin in die UT, was helfen wird, nur muss man hier als Spieleentwickler immer noch einiges an Aufwand betreiben.

Mag sein aber der Performancegewinn ist auch riesig und man kann sich damit auch diverse Performanceoptimierungen an anderen Stellen sparen bzw. kann viele Effekte in der Form gar nicht bringen.

Es wird NVIDIA helfen, am Ende müssen wir alle uns aber überlegen, ob wir als Spieler wirklich diesen Properitären ansatz wirklich gut finden wollen.

Es gibt viele Dinge, die ich an Nvidia nicht gut finde z.B. woe sie alle ihre Geschäftspartner und Kunden behandeln aber trotzdem werde ich am Schluss rational sein und die Karte mit dem besten Preis/Leistungsverhältnis kaufen ganz egal wie sympatisch mir der Hersteller ist.

Und das hoffe ich auch irgendwie bei DLSS, dass wir hier von MS und Co eventuell etwas unabhängies bekommen.

Dass wir etwas bekommen steht ja schon fest (angeblich schon im Frühling). Die Frage ist nur wie brauchbar dieses etwas sein wird.

Na ja ... Optimieren tuen sie alle, nur sollte einige langam verstehen, dass gewisse Sachen einfach nicht weiter optimiert werden können.

Wer Super-duper-Hyper-Grafik will, muss eben damit leben dass die Spiele immer Größer werden usw.

Zu einem gewissen Teil hast du hier Recht. In vielen Fällen hat es aber auch einfach finanzielle Gründe. Da wird eine Menge Zeit und Geld rein gesteckt um ein Spiel auf 7 Jahre alten Konsolenkrücken zum Laufen zu bringen, weil es einfach notwendig ist. Und dann wird ein halbherziger PC Port nachgeschmissen, der trotz deutlich mehr Rohleistung auch nicht mehr Performance hat, weil es beim PC einfach nicht notwendig ist, da die Leistung ja sowieso da ist und man teilweise die schlechte Performance sogar als Marketing nutzt, weil es jeder als Benchmark benutzt.
Sind wir uns mal ehrlich: Wieviele Benchmarks sieht man von Cyberpunk und wieviele von Fortnite?
 
Sehr interessant. Das dürfte potentiell auch die eine oder andere Unklarheit beseitigen ;)

 
Zurück
Oben