A fost creată o variantă a utilitarului Lossless Scalings Frame Generation pentru Linux

Proiectul lsfg-vk a pregătit un port neoficial al utilității Lossless Scalings Frame Generation (LSFG) pentru platforma Linux, utilizând DXVK și API-ul grafic Vulkan. Codul proiectului este scris în C++ și este distribuit sub licența MIT. Dezvoltarea a fost realizată de un entuziast extern, care a recreat funcționalitatea proprietară a LSFG prin inginerie inversă a bibliotecilor Windows.

Aplicația permite scalarea ieșirii aplicațiilor de jocuri, concepute pentru a rula într-o fereastră separată, pentru a le afisa în modul ecran complet. De asemenea, utilitatea poate fi necesară pentru a elimina ieșirea neclară atunci când se scalare utilizând subsistemul grafic standard sau pentru a ocoli limitările jocurilor care se bazează pe rezoluții fixe ale ecranului. În plus, există posibilitatea de a îmbunătăți fluiditatea ieșirii și de a crește rata de cadre în jocurile care nu sunt concepute pentru FPS ridicate, prin interpolarea cadrelor suplimentare create pe baza cadrelor adiacente.

Pentru a recrea detaliile lipsă și scalarea în LSFG pot fi utilizate atât algoritmi originali proprii, cât și tehnologiile existente bazate pe învățarea automată, cum ar fi AMD FidelityFX Super Resolution și NVIDIA Image Scaling. Alegerea algoritmului depinde de tipul aplicației de jocuri. De exemplu, pentru jocurile moderne se recomandă utilizarea algoritmului propriu LS1 sau a tehnologiei de supersampling AMD FSR. Pentru jocurile vechi cu grafică pixelată sunt propuse algoritmii Integer Scaling și xBR, iar pentru jocurile în stil cartoon și anime este disponibil algoritmul Anime4K. Pe lângă jocuri, modificarea ieșirii poate fi aplicată și emulatorilor pentru a rula jocuri retro și jocuri pentru console.

Scalarea și interpolarea cadrelor se realizează în timp real și nu necesită modificări în jocuri. În varianta pentru Linux, pentru interpolarea cadrelor și intervenția în ieșirea jocului se utilizează un handler conectat sub formă de un strat suplimentar Vulkan, prin care se face interceptarea, executarea și modificarea funcțiilor existente Vulkan. Pentru a utiliza lsfg-vk, este suficient să instalați biblioteca liblsfg-vk.so și să configurați parametrii acesteia prin variabile de mediu.

LSFG original reprezintă o aplicație compilată pentru Windows bazată pe API D3D11. Pentru a recrea funcționalitatea LSFG pe Linux, implementarea a fost transformată într-o reprezentare care folosește API Vulkan. Pentru transferul shaderelor, a fost adăugat un handler care intercepta apelurile D3D11 și salva shader-ele pe disc, precum și un parser pentru extragerea dinamică a shaderelor din fișierele executabile în format PE (Portable Executable). Pentru a transfera conduita grafică care controlează execuția shaderelor, componentele bazate pe API D3D11 au fost extrase din aplicație și prin intermediul DXVK s-a asigurat funcționarea lor pe Linux. După obținerea unei versiuni funcționale bazate pe D3D11 și DXVK, a fost utilizat debuggerul RenderDoc pentru a obține o trasare exactă a apelurilor Vulkan, pe baza căreia a fost pregătită versiunea finală, care folosește direct API Vulkan.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster