Eine Version des Tools Lossless Scalings Frame Generation für Linux wurde erstellt.

Das Projekt lsfg-vk hat einen inoffiziellen Port des Tools Lossless Scalings Frame Generation (LSFG) für die Plattform Linux vorbereitet, das DXVK und die Grafik-API Vulkan nutzt. Der Code des Projekts ist in C++ geschrieben und unter der MIT-Lizenz verfügbar. Die Entwicklung wurde von einem unabhängigen Enthusiasten durchgeführt, der die Funktionalität des proprietären LSFG durch Reverse Engineering von Windows-Bibliotheken nachgebildet hat.

Die Anwendung ermöglicht es, die Ausgabe von Spieleanwendungen, die für den Betrieb in einem separaten Fenster konzipiert sind, für die Vollbilddarstellung zu skalieren. Das Tool kann auch erforderlich sein, um unscharfe Ausgaben bei der Skalierung mit der integrierten Grafiksubsystem zu beseitigen oder um Einschränkungen in Spielen zu umgehen, die auf feste Bildschirmauflösungen angewiesen sind. Darüber hinaus besteht die Möglichkeit, die Ausgabe-Geschmeidigkeit zu erhöhen und die Bildfrequenz in Spielen zu steigern, die nicht für hohe FPS ausgelegt sind, indem zusätzliche Zwischengrafiken eingefügt werden, die auf der Interpolation benachbarter Bilder basieren.

Um fehlende Details zu rekonstruieren und die LSFG zu skalieren, können sowohl eigene Algorithmen als auch bestehende Technologien auf Basis von maschinellem Lernen genutzt werden, wie zum Beispiel AMD FidelityFX Super Resolution und NVIDIA Image Scaling. Die Wahl des Algorithmus hängt vom Typ der Spieleanwendungen ab. Für moderne Spiele wird empfohlen, den eigenen Algorithmus LS1 oder die Super-Sampling-Technologie AMD FSR zu verwenden. Für ältere Spiele mit Pixelgrafiken stehen die Algorithmen Integer Scaling und xBR zur Verfügung, während für Spiele im Cartoon- und Anime-Stil der Algorithmus Anime4K bereitsteht. Darüber hinaus kann die Modifikation des Outputs auch für Emulatoren zur Ausführung von Retro-Spielen und Konsolenspielen angewendet werden.

Das Skalieren und Einfügen von Frames erfolgt in Echtzeit und erfordert keine Änderungen an den Spielen. In der Linux-Version wird für das Einfügen von Frames und das Eingreifen in die Spielausgabe ein Handler in Form einer zusätzlichen Vulkan-Schicht verwendet, die das Abfangen, die Ausführung und die Modifikation bestehender Vulkan-Funktionen ermöglicht. Um lsfg-vk zu verwenden, ist es ausreichend, die Bibliothek liblsfg-vk.so zu installieren und ihre Parameter über Umgebungsvariablen zu konfigurieren.

Die originale LSFG ist eine kompilierte Anwendung für Windows, die auf der D3D11-API basiert. Um die Funktionalität von LSFG unter Linux zu reproduzieren, wurde die Implementierung in eine Darstellung transponiert, die die Vulkan-API nutzt. Zu diesem Zweck wurde ein Handler hinzugefügt, der D3D11-Aufrufe abfängt, um Shader auf der Festplatte zu speichern, sowie ein Parser, um Shader dynamisch aus ausführbaren Dateien im PE-Format (Portable Executable) zu extrahieren. Um den Grafik-Pipeline, der die Ausführung der Shader steuert, zu übertragen, wurden die Komponenten, die auf der D3D11-API basieren, identifiziert und ihre Funktionalität unter Linux durch DXVK ermöglicht. Nach Erhalt einer funktionierenden Version auf Basis von D3D11 und DXVK wurde mit dem Debugger RenderDoc eine genaue Aufschlüsselung der Vulkan-Aufrufe erstellt, auf deren Grundlage die endgültige Version vorbereitet wurde, die direkt die Vulkan-API verwendet.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster