News Microsofts DirectSR macht FSR zum de facto Standard

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.
Joshua Tucker von Microsoft hat auf seinem Blog DirectSR angekündigt. Als Teil des Agility SDK 1.714.0-preview Release können nun Entwickler in gewohnter DirectX Umgebung eine generische Implementierung von Methoden für die Skalierung und das Antialiasing in die Gameengines einbauen.

Durch den offenen Softwareansatz und die nachgewiesene Kompatibilität von FSR hat es AMD dabei geschafft die eigene Lösung als den de facto Standard in DirectSR zu bringen. Per default wird somit immer FSR2.2 als Teil von DirectX implementiert. Somit können Spiele auch für Nutzer von Intel oder älteren Nvidia-Karten immer von der Skalierung und dem Antialiasing profitieren.
Today, DirectSR is shipping with built-in support for AMD FidelityFX™ Super Resolution (FSR) 2.2, along with driver level support for both Intel XeSS and NVIDIA DLSS Super Resolution.

Proprietäre Lösungen der GPU-Anbieter, bzw. Independent Hardware Vendor (IHV), können dann durch den Treiber das FSR2.2 ersetzen. Ob künftig dieser Default durch eine höhere FSR-Version ersetzt wird muss sich noch zeigen. Allerdings fügt FSR3.0 lediglich Frame-Generation hinzu, erst mit FSR3.1 wurden Optimierungen in der Bildqulaität für die interpolierten Frames erreicht. Während Frame-Generation womöglich ausserhalb der Entwicklungsziele von Microsofts DirectX-Team liegt könnten durchaus die Qualitätsverbesserungen mit einfliessen, die auch mit FSR3.1 noch nicht auf KI Hardware angewiesen sind.

microsoft-directsr-announcement-html-_images-directsr_diagram.png
Der Blog von Jarrett Wendt von AMD auf der GPUopen Webseite erläutert die API und die Metacommands für proprietäre Treiber-Implementierungen für DirectSR.

DirectSR soll dazu beitragen, die SR-Codepfade unterschiedlicher SR-Varianten wieder zu vereinheitlichen. Darüber hinaus sollen Anwendungen, die mit DirectSR geschrieben wurden, künftig auch KI-basierte Methoden wie Xess oder DLSS unterstützen.
Mit sog. DirectSR Extensions werden SR-Varianten angesteuert, die von der betreffenden Applikation bzw. dem Spiel nicht nativ eingebunden wurden, so können ML-Coprozessoren genutzt werden. ML-Coprozessoren, wie z. B. Neuronale Processing Units (NPU) sollen so die GPUs entlasten.

Die Spec spricht dabei von der SR-Engine als vereinfachte Abstraktion einer SR-Pipeline mit fester Funktion. Die SR-Engine hat eine oder mehrere integrierte Vorverarbeitungsstufen, die die Ausführung eines neuronalen Netzmodells und Nachverarbeitungsfilter umfassen können. Aus der Sicht von DirectSR ist die SR-Engine eine „Black Box“ mit einem genau definierten Satz von Eingaben und Ausgaben. Nicht alle SR-Engines sind dabei gleich und unterscheiden sich in den Eingabeanforderungen und der Ausgabequalität. Mit der Ausgabe können die SR-Engines eine Bildschärfung oder Rauschunterdrückung durchführen, oder dies der Applikation überlassen.

Jarrett Wendt führt aus, dass das Konzept von Warteschlangen anstelle nativer DirectX-Befehlslisten es ermöglicht durch Coprozessoren SR-Engines zu betreiben auch wenn diese selbst keine GPUs sind. Allerdings müssen hierfür die Game-Engines auf eine Frame-Synchronisation explitzit angepasst werden. Die native Implementierung von AMDs FSR in DirectSR erfolgt demgegenüber als eine direkte Integration in die Laufzeitumgebung, mit der die Skalierung Hardware-agnostisch angeboten wird.
Die Entscheidung leigt beim Entwickler den zusätzlichen Aufwand für die Implementierung von Metacommands aufzunehmen oder es beim Default zu belassen. Sind Metacommands vollständig implementiert kann der Nutzer diejenige SR-Variante nutzen, die sein Treiber individuell anbietet. Eine weitere individuelle Anpassung der Spielesoftware je Hersteller durch den Spieleentwickler soll damit entfallen.

Durch die beiden Blogs belegen Microsoft und AMD die enge Zusammenarbeit in der Weiterentwicklung von DirectX und dem Ziel offene Standards zu schaffen.

DirectSR selbst ist auf Github dokumentiert und fügt sich so nahtlos, wie auch AMDs FidelityFX Doku, in die Entwicklungsumgebungen ein.

(update 03.06.24 mit kleinen sprachlichen Korrekturen)
 
Zuletzt bearbeitet:
Microsoft doppelt nach:

Mit Auto SR bringt Microsoft für Windows 11 ein automatisches Tool für die Skalierung basierend auf einem CNN (convolutional neural network) was man als gefaltetes neuronales Netz übersetzen würde.

Laut Developer-Blog ist AutoSR allerdings den ARM-Windows-Systemen mit Snapdragon Elite X vorbehalten. Auch für die Zukunft spricht man vom Support weiterer Systeme mit x64 Emulation, bzw. ARM-Systemen.

Im Gegensatz zu DirectSR setzt Auto SR auf Ebene des Betriebssystems ausserhalb des GPU-Treibers an. Es wird dabei die DPU des SoC für die KI-basierte Skalierung von DirectX-Spielen verwendet.
Interessant dabei ist zumindest, dass auch in DirectSR ein Codepfad für Microsoft bereits besteht über die im ersten Post erwähnten DirectSR-Extensions die für AutoSR entwickelten CNNs zur Skalierung mittels DPU einsetzen zu können.

Tatsächlich betreibt Microsoft zur Zeit besonders viel Aufwand um Qualcomms ARM SoC für Windows einen Erfolg zu ermöglichen.

So ganz automatisch funktioniert es dann aber doch nicht. Man muss Auto SR im MS-Shop extra laden und es gibt eine separate Kompatibilitätsliste für Windows-ARM, worin Auto SR support dediziert ausgewiesen wird. Aktuell sind dort 14 Games enthalten:
  • 7 Days to Die
  • BeamNG drive
  • Borderlands 3
  • Control
  • Dark Souls III
  • God of War
  • Kingdom Come: Deliverance
  • Resident Evil 2
  • Resident Evil 3
  • Sekiro: Shadows Die Twice
  • Shadow of the Tomb Raider
  • Skyrim SE
  • Sniper Ghost Warrior Contracts 2
  • The Witcher 3: Wild Hunt
 
Zuletzt bearbeitet:
  • Borderlands 3
  • Shadow of the Tomb Raider
Bei den Spielen kann ich Vergleichs Werte Bereitstellen.

Borderlands ist nicht mein Favorit was die Grafische Darstellung angeht (Comic), da ist Shadow of the Tomb Raider schon eher mein Fall.

Kleine Randnotiz:
Mein System nutzt Multi-Bit ECC zwischen IMC und RAM in Form von unbuffered ECC RAM = hohe CL Timings, dafür Zero Bit-Flips.
Bei der GPU nutze ich Freesync Premium Pro zwischen GPU und TV, die GPU Last ist sehr hoch = 16,7 Millionen Farben (SDR) vs 1,07 Milliarden Farben (HDR10+)
Eine Zertifizierte HDMI 2.1 Leitung ist aber Pflicht. :)

Advisor_Furmark.png
 
Zuletzt bearbeitet:
Zurück
Oben Unten