News AMD FidelityFX mit FSR 2.0 auf GDC und GPUopen

User-News

Von E555user

Hinweis: Diese "User-News" wurde nicht von der Planet 3DNow! Redaktion veröffentlicht, sondern vom oben genannten Leser, der persönlich für den hier veröffentlichten Inhalt haftet.

Entwicklungspartner​

Auf der Games Developer Conference 2022 hat AMD mit Partnern das neue FidelityFX Super Resolution 2.0 - kurz FSR2 - ausführlich vorgestellt. Über den ganzen Mittwoch verteilt gab es mehrere Präsentationen rund um die neue Technologie und weitere FidelityFX am Beispiel der Entwicklung von Deathloop der Arkane Studios und Forspoken der Luminous Productions.

AMD verweist unter anderem auf eine hohe Adaption von FidelityFX und FSR1, welches auch hier in den News die letzen Monate als Übersicht nachgeführt wurde.

Forspoken dient AMD als kommender Showcase gleich einer Vielzahl von FidelityFX Technologien und DirectStorage für PC und PS5. Von Luminous Productions (Square Enix) gibt es dazu ein Demo-Clip.


Für Developer gibt es auf GPUopen.com ein ausführliches GDC-Video von Seiten AMD. In diesem wird auch darauf hingewiesen, dass FSR2 ebenso implementiert wurde, auch wenn hier im Vorschau-Clip nur FSR1 angekündigt ist.

FSR2​

Lou Kramer, GPU Developer Technology Engineer von AMD berichtet in ihrem Vortrag wie ihre Entwicklungsarbeit zu Deathloop dazu genutzt werden konnte die FSR2 Software so zu entwickeln, dass Erkenntnisse aus der praktischen Umsetzung bereits einfliessen konnten. Das Softwarepaket verspricht also bereits zum Start sehr ausgereift und erprobt zu sein. Ähnliche enge Zusammenarbeit hatte AMD beispielsweise auch beid er Entwicklung von Mantle mit DICE gezeigt.

AMD spricht davon, dass FSR2 eine eigenständige von Grund auf neu entwickelte Technolgie sei und keine Fortenwicklung von FSR1. Offensichtlich muss das der Fall sein, da FSR1 nur auf Basis eines einzelnen Bildes als sogenannte spatiale Skalierung umgesetzt ist. Die Berechnung der Skalierung bei FSR2 erfolgt hingegen auf Basis eines Vorgängerbildes und aus Daten zu Bewegungsvektoren, die aus der Render-Engine gewonnen werden um die Skalierung zu optimieren. Durch das Abstützen auf zeitlich vorgelagerte Informationen spricht man deshalb von einer temporalen Skalierung. Bei der Verwendung dieser zusätzlich zeitlich vorgelagerten Informationsquellen mit Depth Buffer, Motion Vector Buffer und Color Buffer deckt sich der Ansatz mit DLSS von Nvidia.
FSRsubpix.png
FSRclamp.png
Bei der Berechnung des skalierten Bildes geht man jedoch gänzlich andere Wege und verzichtet auf ein neuronales Netz, vielmehr sind die generellen Erfahrungen für geeignete Skalierungsverfahren in den Algorhitmen selbst wiedergespiegelt, die für sich genommen auf den Compute Einheiten für das Shading moderner GPUs ausgefürht werden können. Für FSR2 wurden teilweise Algorithmen von FSR1 wiederverwendet, beispielsweise die Robuste Kontrast Adaptive Schärfung (RCAS).
FSRdisocc.png
FSRthins.pngThomas Arcila, Software Development Engineer von AMD erläutert ausführlich, wie man Jitter durch Bewegungsvektoren auf Sub-Pixel Auflösung analysiert, damit die Gewichtung des Bildpunktes für Folgebilder berücksichtigt werden kann. Ebenso erklärt er wie man das temporale Ghosting verhindert indem mittels Schwellenwert die Abweichung eines Pixels in einer DisOcclusion Mask berechnet, anhand derer die die Vorgängerwerte berücksichtigt werden oder nicht. Für sehr feine Details bzw. Thin Features werden Strukturen fixiert und für Folgebilder während des festgestellten Jitter berücksichtigt, solange also die DisOcculusion Mask hier nicht die Veränderung im Bild feststellt.

Colin Riley, GPU Developer Technology Engineer von AMD geht in seinem zweiten Teil des Vortrags auf Optimierungen für unterschiedliche GPUs ein. Er stellt neben Cache-Optimierugen fest, dass bestimmte Berechnungen bei FSR2 besser als Wave64 ausführbar sind, andere wiederum als Wave32 performanter ausgeführt werden können. Deshalb hat AMD in den Libs für FSR2 Codepfade sowohl für RDNA als auch für GCN bzw. Vega implementiert, letzere Architektur kann mit Wave64 besser ausgelastet werden. Ebenso soll die Technologie einen hohen Bedarf an Speicherbandbreite aufweisen. Zu diesem Punkt gab es keine quantitaviven Aussagen, jedoch kann man davon ausgehen, dass für RDNA2 ein ausreichender Infinity-Cache und bei GCN ein leistungsfähiges Speicherinterface mit HBM für hohe Zugewinne an Performance notwendig sind. Es drängt sich deshalb der Verdacht auf, dass aus diesem Grund von AMD bei GCN mindestens eine RX590 für Support durch die Entwickler gefordert wird (AMD Blog FSR2 Footnotes).

FSR2 ersetzt in der Game-Engine implementierte TAA Filter und wird gegenüber FSR1 weiter vorne in der Pipeline implementiert. Viele Frame-Buffer müssen zusätzlich berechnet werden, wenn diese nicht bereits für ähnliche Technolgien wie DLSS bereits angelegt sind. Der zusätzliche Aufwand durch Anpassung der Parameter der Skalierung an das Quellmaterial bzw. Grafikdesign und die Auswahl und Anpassung der Code-Pfade für bestimmte Hardware kann im Gegensatz zu FSR1 zu erheblichem Aufwand bei der Implementierung führen. FSR2 soll künftig ein TAA Modus ohne Skalierung erhalten, so dass für diesen Fall ohne Skalierung der Code nicht separat gepflegt werden muss.



Für den GDC Video Vault wurden die Präsentationen nicht aufgezeichnet, denn AMD selbst sorgt für den öffentlichen Zugang auf eigenem Youtube-Kanal. Die für Entwickler von 3D-Engines gedachten Videos mit Slides zum Download finden sich zusammengefasst auf einer News auf GPUopen. Hierbei gibt es ebenso Vorträge zu Raytracing optimiert für AMD, worauf ich heute allerdings nicht näher eingehen will.
 
Zuletzt bearbeitet:
Toller ausführlicher und gut verständlicher Artikel.

FSR2 bringt den Elefanten zurück in den Frageraum:
Wozu sollen die AI/KI Tensor Beschleuniger auf Gaming-GPUs noch sinnvoll eingesetzt werden?

Es wäre wahrscheinlich für die nächsten Jahre besser wenn die Chipfläche mit generischen Shader Units oder RT Units belichtet würde.
 
Auf GPUOpen.com gibt es neu eine dedizierte Seite für FSR2 wie auch für FSR1.
Die Sourcen sind auf GitHub veröffentlicht und es gibt ausführliche Dokumentationen, die recht gut verständlich sind.
Beide Verfahren sind im Xbox Developer Kit integriert.

Aus dem Blog zum einjährigen Jubiläum:
AMD FIDELITYFX™ SUPER RESOLUTION 2.0 VS. NVIDIA® DLSS

FEATUREAMD FSR 2.0NVIDIA DLSS
Temporal Upscaling Technology
Boosts Framerates in Supported Games
Similar or Better Than Native Image Quality (4)
Includes Optimized Anti-aliasing
Adjustable Image Quality Settings
Easy for Game Developers to Integrate
Open-Source Technology
Doesn’t Require Dedicated Machine Learning (ML) Hardware
Supported Across a Wide Range of Products and Platforms
Console Support
Benötigt HLSL SM6.2, seit GCN2gen in 2013
 
Zuletzt bearbeitet:
Consolen Supported.
Die meisten Verstehen es nicht, meine Wenigkeit sehr wohl.

Kleinigkeiten, machen das Leben LebensWert.
 
Zurück
Oben Unten