Izlazak DXVK 3.0

Nakon šest mjeseci razvoja, objavljena je nova verzija DXVK (sloj za prevođenje Direct3D u Vulkan), otvorene biblioteke koja pretvara pozive API-a Direct3D 8, 9, 10 i 11 u Vulkan komande. Omogućava pokretanje 3D aplikacija i igara razvijenih za Windows na sustavima gdje nativna podrška za Direct3D nije dostupna, koristeći pritom prednosti učinkovitijeg grafičkog API-a Vulkan.

Glavne promjene
U novoj verziji došlo je do prelaska na korištenje specifikacija i proširenja Vulkan 1.4, što će zahtijevati kompatibilni drajver.

DXVK sada koristi dxbc-spirv za kompilaciju šejdera za sve podržane modele šejdera. Ovo uklanja brojne probleme koji su ranije bili nerješivi:
Problemi s rendanjem u igrama uzrokovani su ili time što igre oslanjaju na neodređeno ponašanje, ili time što FXC u nekim slučajevima generira netočan kod, kao u Postal: Brain Damaged, Snowrunner.
Generirani kod je kompaktniji od jednostavno prevedenog SPIR-V koda, što značajno smanjuje količinu memorije koju DXVK zauzima. U igrama kao što su Overwatch ili God of War, to omogućava uštedu od otprilike 1 GiB sistemske memorije.
Kompilacija šejdera sada je potpuno prebačena na radne niti, što može skratiti vrijeme pokretanja u igrama poput Days Gone i Final Fantasy XIV, ili u nekim slučajevima smanjiti zamrzavanja. Ranije je DXVK izvođaо prevođenje SPIR-V u aplikacijskom toku i kompilirao samo stvarne Vulkan cijevi u radnim procesima.
Intermedijarno predstavljanje kompiliranih šejdera DXVK sada se kešira na disku unutar AppData/Local trenutnog Wine prefiksa. Ovo je potrebno jer je vrijeme kompilacije povećano u odnosu na stari kompajler. Putanja do keša može se promijeniti pomoću varijable okruženja DXVK_SHADER_CACHE_PATH.

Novo Vulkan proširenje VK_EXT_descriptor_heap sada se koristi prema zadanim postavkama u drajverima koji ga podržavaju.
Očekuje se da će ova nova modela, u usporedbi sa starom implementacijom modela vezivanja temeljenog na VK_EXT_descriptor_buffer, pružiti otprilike istu razinu performansi vezanih uz CPU, dok će izbjeći smanjenje performansi na GPU Nvidia (potrebni nvidia-drajveri-595.84 i noviji).
Promjene D3D9
Kako bi emulirao zastarjeli pipeline s fiksnim funkcijama koji omogućuje D3D8 i D3D9 igrama renderiranje bez shadera, DXVK je prije generirao vlastiti shader kod u stvarnom vremenu na temelju stanja pipeline-a. U nekim igrama, poput Unreal Tournament 2004, to je moglo uzrokovati primjetne usporavanja čak i nakon duljih razdoblja igranja.

Kako bi to ispravio, DXVK sada implementira pipeline s fiksnim funkcijama kao par uber shader-a za koje se optimizirane varijante kompiliraju u pozadini.
Optimizacija učitavanja bafera
Kako bi bolje odgovaralo ponašanju sustava Windows, različite vrste bafera koje su ranije bile smještene izravno u VRAM, sada se učitavaju na zahtjev, a također je implementirana strategija ograničenja količine RAM-a koja ispravlja kvarove povezane s adresnim prostorom u nizu 32-bitnih D3D9 igara.
Ove promjene također mogu poboljšati performanse na sustavima bez promjenjive veličine BAR u igrama poput GTA IV.

U sustavima koji dovoljno podržavaju VK_EXT_sample_locations i VK_EXT_extended_dynamic_state3, stanje renderiranja D3DRS_MULTISAMPLEANTIALIAS sada ispravno funkcionira, dopuštajući aplikacijama korištenje rasterizacije s jednim uzorkom prilikom renderiranja u objekte renderiranja s višestrukim uzorcima. To eliminira probleme s prikazom korisničkog sučelja u Anno 1701, Men of War Assault Squad i slične probleme u drugim igrama s uključenim MSAA.

Opći resursi sada rade s originalnom implementacijom Wine i više ne zahtijevaju popravke specifične za Proton.

Također treba spomenuti brojne ispravke za različite igre koje će sada raditi bolje.

Izvor: linux.org.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster