ΠΡΠΎΠ΅ΠΊΡΡΡ lsfg-vk ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½Π΅ΠΎΡΠΈΡΠΈΠ°Π»Π΅Π½ ΠΏΠΎΡΡ Π½Π° ΡΡΠΈΠ»ΠΈΡΠ°ΡΠ° Lossless Scalings Frame Generation (LSFG) Π·Π° Linux, ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° DXVK ΠΈ Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ API Vulkan. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° C++ ΠΈ Π΅ Π»ΠΈΡΠ΅Π½Π·ΠΈΡΠ°Π½ ΠΏΠΎΠ΄ MIT. Π Π°Π·Π²ΠΈΡΠΈΠ΅ΡΠΎ Π΅ ΠΈΠ·Π²ΡΡΡΠ΅Π½ΠΎ ΠΎΡ Π½Π΅Π·Π°Π²ΠΈΡΠΈΠΌ Π΅Π½ΡΡΡΠΈΠ°ΡΡ, ΠΊΠΎΠΉΡΠΎ Π΅ Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΠΈΠ» ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΠ΅ΡΠΊΠΈΡΠ΅ LSFG ΡΡΠ΅Π· ΠΎΠ±ΡΠ°ΡΠ½ΠΎ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΡΡΠ²ΠΎ Π½Π° Windows Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈ Π·Π° ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π΅Π½ ΠΏΡΠΎΠ·ΠΎΡΠ΅Ρ, Π·Π° Π΄Π° Π³ΠΈ ΠΏΠΎΠΊΠ°Π·Π²Π° Π² ΡΠ΅ΠΆΠΈΠΌ Π½Π° ΡΡΠ» Π΅ΠΊΡΠ°Π½. Π£ΡΠΈΠ»ΠΈΡΠ°ΡΠ° ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° Π·Π° ΠΏΡΠ΅ΠΌΠ°Ρ Π²Π°Π½Π΅ Π½Π° ΡΠ°Π·ΠΌΠ°Π·Π°Π½ΠΈΡ ΠΈΠ·Ρ ΠΎΠ΄ ΠΏΡΠΈ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Ρ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°ΡΠ° Π³ΡΠ°ΡΠΈΡΠ½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈΠ»ΠΈ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠΎΠ»ΠΊΠ° Π½Π° ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π² ΠΈΠ³ΡΠΈ, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΡΠΈΠΊΡΠΈΡΠ°Π½ΠΈ ΡΠ΅Π·ΠΎΠ»ΡΡΠΈΠΈ Π½Π° Π΅ΠΊΡΠ°Π½Π°. ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, ΠΈΠΌΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ Π·Π° ΠΏΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π³Π»Π°Π΄ΠΊΠΎΡΡΡΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° ΠΈ ΡΠ²Π΅Π»ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎΡΠ°ΡΠ° Π½Π° ΠΊΠ°Π΄ΡΠΈΡΠ΅ Π² ΠΈΠ³ΡΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΡΠ° Π½Π°ΡΡΡΠΎΠ΅Π½ΠΈ Π·Π° Π²ΠΈΡΠΎΠΊ FPS, ΡΡΠ΅Π· Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π½ΠΈ ΠΊΠ°Π΄ΡΠΈ, ΡΡΠ·Π΄Π°Π΄Π΅Π½ΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΈΠ½ΡΠ΅ΡΠΏΠΎΠ»Π°ΡΠΈΡ Π½Π° ΡΡΡΠ΅Π΄Π½ΠΈ ΠΊΠ°Π΄ΡΠΈ.
ΠΠ° Π²ΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΎΡΡΡΡΡΠ²Π°ΡΠΈΡΠ΅ Π΄Π΅ΡΠ°ΠΉΠ»ΠΈ ΠΈ ΡΠ°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ Π² LSFG ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΊΠ°ΠΊΡΠΎ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈ, ΡΠ°ΠΊΠ° ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΌΠ°ΡΠΈΠ½Π½ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΠ΅, ΠΊΠ°ΡΠΎ AMD FidelityFX Super Resolution ΠΈ NVIDIA Image Scaling. ΠΠ·Π±ΠΎΡΡΡ Π½Π° Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Π·Π°Π²ΠΈΡΠΈ ΠΎΡ ΡΠΈΠΏΠ° ΠΈΠ³ΡΠΎΠ²ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π·Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ ΠΈΠ³ΡΠΈ ΡΠ΅ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΡΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ LS1 ΠΈΠ»ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡΡΠ° Π·Π° ΡΡΠΏΠ΅ΡΠΌΠΎΠ³ΠΎΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½Π΅ AMD FSR. ΠΠ° ΡΡΠ°ΡΠΈ ΠΈΠ³ΡΠΈ Ρ ΠΏΠΈΠΊΡΠ΅Π»Π½Π° Π³ΡΠ°ΡΠΈΠΊΠ° ΡΠ΅ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΈΡΠ΅ Integer Scaling ΠΈ xBR, Π° Π·Π° ΠΈΠ³ΡΠΈ Π² ΡΡΠΈΠ» Π°Π½ΠΈΠΌΠ°ΡΠΈΠΈ ΠΈ Π°Π½ΠΈΠΌΠ΅ Π΅ Π½Π°Π»ΠΈΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ Anime4K. ΠΡΠ²Π΅Π½ Π·Π° ΠΈΠ³ΡΠΈ, ΠΌΠΎΠ΄ΠΈΡΠΈΠΊΠ°ΡΠΈΡΡΠ° Π½Π° ΠΈΠ·Ρ ΠΎΠ΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° ΠΈ Π·Π° Π΅ΠΌΡΠ»Π°ΡΠΎΡΠΈ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎ ΠΈΠ³ΡΠΈ ΠΈ ΠΈΠ³ΡΠΈ Π·Π° ΠΊΠΎΠ½Π·ΠΎΠ»ΠΈ.
Π Π°Π·ΡΠΈΡΡΠ²Π°Π½Π΅ΡΠΎ ΠΈ Π²ΠΌΡΠΊΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΊΠ°Π΄ΡΠΈ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° Π½Π° Π»Π΅ΡΡΡΠ° ΠΈ Π½Π΅ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΈΠ³ΡΠΈΡΠ΅. Π Π²Π΅ΡΡΠΈΡΡΠ° Π·Π° Linux Π·Π° Π²ΠΌΡΠΊΠ²Π°Π½Π΅ Π½Π° ΠΊΠ°Π΄ΡΠΈ ΠΈ Π·Π° Π½Π°ΠΌΠ΅ΡΠ° Π² ΠΈΠ·Ρ ΠΎΠ΄Π° Π½Π° ΠΈΠ³ΡΠ°ΡΠ° ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π΄ΠΎΠ±Π°Π²ΡΠ½Π΅ Π½Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ ΠΏΠΎΠ΄ ΡΠΎΡΠΌΠ°ΡΠ° Π½Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ ΡΠ»ΠΎΠΉ Vulkan, ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²ΠΎΠΌ ΠΊΠΎΠΉΡΠΎ ΡΠ΅ ΠΈΠ·Π²ΡΡΡΠ²Π° ΠΏΡΠΈΡ Π²Π°ΡΠ°Π½Π΅ΡΠΎ, ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°ΡΠΈΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π½Π° Vulkan. ΠΠ° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° lsfg-vk Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ°ΡΠ° liblsfg-vk.so ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Π½Π΅ΠΉΠ½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ ΡΡΠ΅Π· ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ Π½Π° ΡΡΠ΅Π΄Π°ΡΠ°.
ΠΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡΡ LSFG ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ²Π° ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ°Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Windiows, Π±Π°Π·ΠΈΡΠ°Π½ΠΎ Π½Π° API D3D11. ΠΠ° Π²ΡΠ·ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎΡΡΡΠ° Π½Π° LSFG Π² Linux, ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡΡΠ° Π±Π΅ΡΠ΅ ΡΡΠ°Π½ΡΡΠΎΡΠΌΠΈΡΠ°Π½Π° Π² ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠΎ API Vulkan. ΠΠ° ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈΡΠ΅ Π±Π΅ΡΠ΅ Π΄ΠΎΠ±Π°Π²Π΅Π½ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ, ΠΊΠΎΠΉΡΠΎ ΠΏΠ΅ΡΠ΅Ρ
Π²Π°ΡΠ° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° D3D11 ΠΈ Π·Π°ΠΏΠ°Π·Π²Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈΡΠ΅ Π½Π° Π΄ΠΈΡΠΊ, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΏΠ°ΡΡΠ΅Ρ Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΎ ΠΈΠ·Π²Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈΡΠ΅ ΠΎΡ ΠΈΠ·ΠΏΡΠ»Π½ΠΈΠΌΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠΎΡΠΌΠ°Ρ PE (Portable Executable). ΠΠ° ΠΏΡΠ΅Ρ
Π²ΡΡΠ»ΡΠ½Π΅ Π½Π° Π³ΡΠ°ΡΠΈΡΠ½ΠΈΡ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅Ρ, ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ΅ΠΉΠ΄Π΅ΡΠΈΡΠ΅, ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠΎ Π±ΡΡ
Π° ΠΈΠ·ΠΎΠ»ΠΈΡΠ°Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΈ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° API D3D11 ΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° DXVK Π±Π΅ΡΠ΅ ΠΎΡΠΈΠ³ΡΡΠ΅Π½Π° ΡΡΡ
Π½Π°ΡΠ° ΡΠ°Π±ΠΎΡΠ° Π² Linux. Π‘Π»Π΅Π΄ ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ°Π±ΠΎΡΠ΅Ρ Π²Π°ΡΠΈΠ°Π½Ρ, Π±Π°Π·ΠΈΡΠ°Π½ Π½Π° D3D11 ΠΈ DXVK, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΎΡΠ»Π°Π΄ΡΠΈΠΊΠ° RenderDoc Π±Π΅ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΡΠΎΡΠ½Π° ΡΡΡΡΠΊΡΡΡΠ° Π½Π° ΠΏΠΎΠ²ΠΈΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° Vulkan, Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΠΊΠΎΡΡΠΎ Π±Π΅ΡΠ΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½Π° ΡΠΈΠ½Π°Π»Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ, ΠΊΠΎΡΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠ½ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° API Vulkan.
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
