Pussts gadÄ izstrÄdes beigÄs ir iznÄkusi jaunÄ versija DXVK (Direct3D uz Vulkan pÄrtulkotÄja slÄnis), atvÄrtÄ bibliotÄka, kas pÄrveido API Direct3D 8, 9, 10 un 11 izsaukumus par Vulkan komandu. TÄ Ä¼auj palaist 3D lietojumprogrammas un spÄles, kas izstrÄdÄtas Windows vidÄ, sistÄmÄs, kur trupmÄr nav vietÄjas Direct3D atbalsta, izmantojot efektÄ«vÄkÄ grafiskÄ API Vulkan iespÄjas.
GalvenÄs izmaiÅas
JaunajÄ versijÄ ir veikts pÄreja uz Vulkan 1.4 specifikÄcijÄm un paplaÅ”inÄjumiem, kas attiecÄ«gi prasÄ«s saderÄ«gu draiveri.
DXVK tagad izmanto dxbc-spirv lai kompilÄtu Å”Ädus Å”Ädus Å”Ädus Å”Ädus Å”Ädus Å”Ädus Å”Ädus Å”Ädus Å”Ädus Å”Ädus Å”Ädus Å”Ädus. Tas novÄrÅ” vairÄkas problÄmas, kuras iepriekÅ” bija grÅ«ti atrisinÄt:
ProblÄmas ar attÄloÅ”anu spÄlÄs, ko izsaka vai nu tas, ka spÄles paļaujas uz nenoteiktu uzvedÄ«bu, vai FXC dažreiz Ä£enerÄ nepareizu kodu, kÄ Postal: Brain Damaged, Snowrunner
Ä¢enerÄtais kods ir kompaktÄks nekÄ vienkÄrÅ”i pÄrveidotais SPIR-V kods, kas ievÄrojami samazina atmiÅas apjomu, ko izmanto DXVK. SpÄlÄs, piemÄram, Overwatch vai God of War, tas ļauj ietaupÄ«t apmÄram 1 GiB sistÄmas atmiÅas.
Å eideru kompilÄcija tagad pilnÄ«bÄ pÄrvietota uz darbinieku pavedieniem, kas var samazinÄt palaiÅ”anas laiku tÄdÄs spÄlÄs kÄ Days Gone un Final Fantasy XIV, vai dažos gadÄ«jumos samazinÄt aizkavÄÅ”anos. AgrÄk DXVK veica SPIR-V pÄrtulkoÅ”anu lietojumprogrammas pavedienÄ un tikai kompilÄja patiesos Vulkan caurlaidus darba procesos.
DXVK kompilÄto Å”eideru starpposma pÄrstÄvniecÄ«ba tagad tiek keÅ”ota diskÄ iekÅ”ÄjÄ Wine paÅ”reizÄjÄ prefiksa kataloga AppData/Local. Tas ir nepiecieÅ”ams, jo kompilÄcijas laiks ir palielinÄjies salÄ«dzinÄjumÄ ar veco kompilatoru. KeÅ”a ceļu var mainÄ«t, izmantojot vides mainÄ«go DXVK_SHADER_CACHE_PATH.
JaunÄ Vulkan paplaÅ”inÄjuma VK_EXT_descriptor_heap tagad tiek izmantota pÄc noklusÄjuma draiveros, kas to atbalsta.
Tiek gaidÄ«ts, ka salÄ«dzinÄjumÄ ar veco VK_EXT_descriptor_buffer bÄzÄtÄ piesaistes modeļa Ä«stenoÅ”anu Ŕī jaunÄ modeļa nodroÅ”inÄs apmÄram to paÅ”u CP saistÄ«tÄs veiktspÄjas lÄ«meni, vienlaikus izvairoties no Nvidia GPU (nepiecieÅ”ama nvidia-drivers-595.84 un jaunÄkie) veiktspÄjas samazinÄjumiem.
IzmaiÅas D3D9
Lai emulÄtu novecojuÅ”o konveijeru ar fiksÄtÄm funkcijÄm, kas ļauj D3D8 un D3D9 spÄlÄm veikt attÄlu renderÄÅ”anu bez shÄmas, DXVK iepriekÅ” Ä£enerÄja savu shÄmu kodu reÄlÄ laikÄ, pamatojoties uz konveijera stÄvokli. DažÄs spÄlÄs, piemÄram, Unreal Tournament 2004, tas varÄja novest pie pamanÄmÄm aiztures, pat ilgstoÅ”as spÄlÄÅ”anas laikÄ.
Lai to novÄrstu, DXVK tagad Ä«steno fiksÄta konveijera funkcionalitÄti kÄ pÄri ubershipiem, kuru optimizÄtÄs versijas tiek kompilÄtas fona režīmÄ.
Bufera ielÄdes optimizÄcija
Lai precÄ«zÄk atbilstu Windows uzvedÄ«bai, dažÄdi buferu veidi, kas agrÄk bija novietoti tieÅ”i VRAM, tagad tiek ielÄdÄti pÄc pieprasÄ«juma, un ir ieviesta operatÄ«vÄs atmiÅas ierobežoÅ”anas stratÄÄ£ija, kas novÄrÅ” adreses telpas kļūdas vairÄkÄs 32-bitu D3D9 spÄlÄs.
Å ie uzlabojumi arÄ« var palielinÄt veiktspÄju sistÄmÄs bez mainÄma izmÄra BAR spÄlÄs, piemÄram, GTA IV.
SistÄmÄs, kas pietiekami atbalsta VK_EXT_sample_locations un VK_EXT_extended_dynamic_state3, D3DRS_MULTISAMPLEANTIALIAS renderÄÅ”anas stÄvoklis tagad darbojas pareizi, ļaujot lietojumprogrammÄm izmantot vienas paraugu rastrÄÅ”anu, renderÄjot multividei ar vairÄk nekÄ vienu paraugu. Tas novÄrÅ” lietotÄja interfeisa atveidoÅ”anas problÄmas Anno 1701, Men of War Assault Squad un lÄ«dzÄ«gas problÄmas citÄs spÄlÄs ar ieslÄgtu MSAA.
KopÄjie resursi tagad darbojas ar oriÄ£inÄlo Wine Ä«stenojumu un vairs neprasa Proton specifiskos labojumus.
TÄpat jÄmin daudz labojumu dažÄdÄm spÄlÄm, kas tagad darbosies labÄk.
Avots: linux.org.ru
