Stworzono wersję narzędzia Lossless Scalings Frame Generation dla Linuxa

Projekt lsfg-vk przygotował nieoficjalny port narzędzia Lossless Scalings Frame Generation (LSFG) dla platformy Linux, wykorzystujący DXVK oraz graficzny interfejs API Vulkan. Kod projektu napisany jest w języku C++ i udostępniony na licencji MIT. Rozwój został zrealizowany przez niezależnego entuzjastę, który odtworzył funkcjonalność proprietary LSFG poprzez inżynierię odwrotną bibliotek Windows.

Aplikacja umożliwia skalowanie wyjścia aplikacji gier, zaprojektowanych do uruchamiania w osobnym oknie, aby mogły być wyświetlane w trybie pełnoekranowym. Narzędzie może być również potrzebne do eliminacji rozmytego obrazowania podczas skalowania za pomocą standardowego subsystemu graficznego lub aby obejść ograniczenia w grach uzależnionych od stałych rozdzielczości ekranu. Dodatkowo, istnieje możliwość poprawy płynności wyjścia i zwiększenia liczby klatek na sekundę w grach, które nie są zaprojektowane do wysokiego FPS, poprzez wstawianie dodatkowych klatek pośrednich, stworzonych na podstawie interpolacji sąsiednich klatek.

Do rekonstrukcji brakujących detali i skalowania w LSFG mogą być stosowane zarówno autorskie oryginalne algorytmy, jak i istniejące technologie oparte na uczeniu maszynowym, takie jak AMD FidelityFX Super Resolution oraz NVIDIA Image Scaling. Wybór algorytmu zależy od typu aplikacji gier. Na przykład, dla nowoczesnych gier zaleca się użycie autorskiego algorytmu LS1 lub technologii supersamplingowej AMD FSR. Dla starszych gier z grafiką rastrową proponowane są algorytmy Integer Scaling i xBR, a dla gier w stylu kreskówek oraz anime dostępny jest algorytm Anime4K. Oprócz gier, modyfikacja wyjścia może być stosowana również do emulatorów do uruchamiania retro gier oraz gier na konsole.

Skalowanie i wstawianie klatek odbywa się w czasie rzeczywistym i nie wymaga wprowadzania zmian w grach. W wersji dla Linuxa do wstawiania klatek i wtrącania w wyjście gry używane jest podłączenie modułu w formie dodatkowej warstwy Vulkan, przy pomocy której wykonywane są przechwytywanie, wykonanie oraz modyfikacja istniejących funkcji Vulkan. Do korzystania z lsfg-vk wystarczy zainstalować bibliotekę liblsfg-vk.so i skonfigurować jej parametry za pomocą zmiennych środowiskowych.

Oryginalny LSFG to skompilowana aplikacja dla Windows oparta na API D3D11. Aby odtworzyć funkcjonalność LSFG w systemie Linux, implementacja została przetłumaczona na wersję wykorzystującą API Vulkan. Do przeniesienia shaderów dodano interfejs, który przechwytuje wywołania D3D11 i zapisuje shadery na dysku, a także parser do dynamicznego wydobywania shaderów z plików wykonywalnych w formacie PE (Portable Executable). Aby przenieść potok graficzny, który kontroluje wykonanie shaderów, z aplikacji wydzielono komponenty oparte na API D3D11, a dzięki DXVK zapewniono ich działanie w systemie Linux. Po uzyskaniu działającej wersji opartej na D3D11 i DXVK za pomocą debuggerów RenderDoc uzyskano dokładny układ wywołań Vulkan, na podstawie którego przygotowano ostateczną wersję, wykorzystującą bezpośrednio API Vulkan.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster