Shpërthimi i DXVK 3.0

Pas gjashtë muajsh zhvillimi u lëshua një version i ri i DXVK (Shtresa e Përkthimit nga Direct3D në Vulkan), një bibliotekë e hapur që konverton thirrjet e API-ve Direct3D 8, 9, 10 dhe 11 në komanda Vulkan. Ajo lejon që aplikacionet dhe lojërat 3D, të krijuara për Windows, të funksionojnë në sisteme ku mbështetje natively për Direct3D nuk ekziston, duke shfrytëzuar gjithashtu mundësitë më efikase të API-së grafike Vulkan.

Ndryshimet kryesore
Në versionin e ri është realizuar kalimi në përdorimin e specifikimeve dhe zgjatimeve Vulkan 1.4, gjë që do të kërkojë përkatësisht një drejtuese të përputhshme.

DXVK tani përdor dxbc-spirv për kompilimin e shader-ave për të gjitha modelet e mbështetura të shader-ave. Kjo zgjidh një sërë problemi që më parë ishte e pamundur të zgjidheshin:
Probleme me renderimin në lojëra, shkaktuar ose nga fakti që lojërat mbështeten në sjellje të pasigurt, ose nga fakti që FXC në disa raste gjeneron kod të gabuar, si në Postal: Brain Damaged, Snowrunner
Kodi i gjeneruar është më kompakt se thjesht kodi i transformuar SPIR-V, gjë që ndihmon në mënyrë të konsiderueshme për të reduktuar volumet e memories që zë DXVK. Në lojëra si Overwatch ose God of War, kjo ndihmon për të kursyer rreth 1 GB memorje sistemike.
Kompilimi i shader-ave tani është transferuar plotësisht në rrjedhat e punës, gjë që mund të zvogëlojë kohën e nisjes në lojëra si Days Gone dhe Final Fantasy XIV, ose në disa raste të reduktojë ngecjet. Më parë, DXVK e realizonte transformimin SPIR-V në rrjedhën e aplikacionit dhe kompilonte vetëm kanalet reale Vulkan në proceset e punës.
Paraqitja e ndërmjetme e shader-ave të kompiluar nga DXVK tani ruhet në disk brenda katalogut AppData/Local të prefiksit aktual të Wine. Kjo është e nevojshme, pasi koha e kompilimit është rritur në krahasim me kompiluesin e vjetër. Rruga për në cache mund të ndryshohet me variablin ambient DXVK_SHADER_CACHE_PATH.

Zgjatja e re Vulkan VK_EXT_descriptor_heap tani përdoret si të dhënë në driverët që e mbështesin atë.
Pritet që, në krahasim me implementimin e vjetër të modelit të lidhjes, të bazuar në VK_EXT_descriptor_buffer, ky model i ri të ofrojë një nivel të ngjashëm të performancës që lidhet me CPU-në, duke evituar në të njëjtën kohë uljen e performancës në GPU-në Nvidia (kërkohet nvidia-drivers-595.84 dhe më të reja)
Ndryshimet D3D9
Për të emuluar një konvejere të vjetër me funksione të fikura, e cila lejon lojërat D3D8 dhe D3D9 të kryejnë rendering pa shader, DXVK më parë gjeneronte kod shader vetë në kohë reale në bazë të gjendjes së konveyorës. Në disa lojëra, si Unreal Tournament 2004, kjo mund të shkaktonte pengesa të dukshme madje pas periudhave të gjata loje.

Për të rregulluar këtë, DXVK tani implementon konveyoren me funksione të fikura si një çift ubershader-i, për të cilat variantet e optimizuara përpunohen në sfond.
Optimizimi i ngarkesës së buffers.
Për të përputhur më saktë sjelljen e Windows, lloje të ndryshme buffers, të cilat përpara vendoseshin direkt në VRAM, tani ngarkohen sipas kërkesës, si dhe u implementua një strategji e kufizimit të sasisë së memories së operativ, e cila rregullon dështimet e lidhura me hapësirën adresuese në një numër lojërash 32-bit D3D9.
Këto ndryshime gjithashtu mund të përmirësojnë performancën në sisteme pa madhësinë e BAR të ndryshueshme në lojëra si GTA IV.

Në sisteme që mbështesin mjaftueshëm VK_EXT_sample_locations dhe VK_EXT_extended_dynamic_state3, gjendja e rendering D3DRS_MULTISAMPLEANTIALIAS tani funksionon siç duhet, duke lejuar aplikacionet të përdorin rasterizimin me një mostër gjatë rendering në objektet e target të rendering me shumë mostra. Kjo eliminon problemet me vizatimin e ndërfaqeve përdoruesit në Anno 1701, Men of War Assault Squad dhe probleme të ngjashme në lojëra të tjera me MSAA të aktivizuar.

Burimet e zakonshme tani punojnë me implementimin origjinal të Wine dhe nuk kërkojnë më rregullime specifike për Proton.

Po ashtu, duhet përmendur një numër rregullimesh për lojëra të ndryshme që tani do të funksionojnë më mirë.

Burimi: linux.org.ru

Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS 🔥 Blini hosting të besueshëm për faqe interneti me mbrojtje nga DDoS, serverë VPS VDS | ProHoster