Une version de l'outil Lossless Scalings Frame Generation pour Linux a été créée.

Le projet lsfg-vk propose un port non officiel de l'outil Lossless Scalings Frame Generation (LSFG) pour la plateforme Linux, utilisant DXVK et l'API graphique Vulkan. Le code du projet est écrit en C++ et est sous licence MIT. Le développement a été réalisé par un passionné externe, ayant recréé la fonctionnalité du LSFG propriétaire par rétro-ingénierie des bibliothèques Windows.

L'application permet de redimensionner la sortie des applications de jeu, conçues pour s'exécuter dans une fenêtre séparée, afin de les afficher en plein écran. L'outil peut également être nécessaire pour éliminer la sortie floue lors du redimensionnement utilisant la sous-système graphique standard ou pour contourner les limitations des jeux qui dépendent de résolutions d'écran fixes. De plus, il est possible d'améliorer la fluidité de la sortie et d'augmenter le nombre d'images par seconde dans les jeux qui ne sont pas optimisés pour un FPS élevé, en insérant des images intermédiaires créées par interpolation des images adjacentes.

Pour recréer les détails manquants et le redimensionnement dans LSFG, on peut utiliser à la fois des algorithmes originaux propriétaires et des technologies existantes basées sur l'apprentissage automatique, telles qu'AMD FidelityFX Super Resolution et NVIDIA Image Scaling. Le choix de l'algorithme dépend du type d'applications de jeu. Par exemple, pour les jeux modernes, il est recommandé d'utiliser l'algorithme propriétaire LS1 ou la technologie de super échantillonnage AMD FSR. Pour les anciens jeux avec des graphismes pixelisés, les algorithmes Integer Scaling et xBR sont proposés, alors que pour les jeux de style cartoon et anime, l'algorithme Anime4K est disponible. En plus des jeux eux-mêmes, la modification de la sortie peut être appliquée aux émulateurs pour exécuter des jeux rétro et des jeux de consoles.

Le redimensionnement et l'insertion d'images se font à la volée et ne nécessitent pas de modifications des jeux. Dans la version pour Linux, pour l'insertion de cadres et l'intervention dans la sortie du jeu, un gestionnaire est utilisé sous la forme d'une couche supplémentaire Vulkan, permettant l'interception, l'exécution et la modification des fonctions existantes de Vulkan. Pour utiliser lsfg-vk, il suffit d'installer la bibliothèque liblsfg-vk.so et de configurer ses paramètres via des variables d'environnement.

Le LSFG original est une application compilée pour Windows basée sur l'API D3D11. Pour recréer la fonctionnalité de LSFG sous Linux, l'implémentation a été traduite dans une représentation utilisant l'API Vulkan. Un gestionnaire a été ajouté pour capturer les appels D3D11 et enregistrer les shaders sur disque, ainsi qu'un parseur pour extraire dynamiquement les shaders des fichiers exécutable au format PE (Portable Executable). Pour transférer le pipeline graphique gérant l'exécution des shaders, des composants basés sur l'API D3D11 ont été extraits de l'application, et grâce à DXVK, leur fonctionnement a été assuré sous Linux. Après avoir obtenu une version fonctionnelle basée sur D3D11 et DXVK, un débogueur RenderDoc a permis d'obtenir le suivi précis des appels Vulkan, sur la base duquel la version finale, utilisant directement l'API Vulkan, a été préparée.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster