Utgivning av DXVK 3.0

Efter ett halvÄrs utveckling har den senaste versionen av DXVK (Direct3D till Vulkan Translate Layer) slÀppts, ett öppet bibliotek som omvandlar API-anrop frÄn Direct3D 8, 9, 10 och 11 till Vulkan-kommandon. Det gör det möjligt att köra 3D-applikationer och spel som utvecklats för Windows pÄ system dÀr direkt stöd för Direct3D saknas, och utnyttja de mer effektiva funktionerna hos Vulkan-grafik-API:et.

Viktiga Àndringar
I den nya versionen har det gjorts en övergÄng till anvÀndning av specifikationer och tillÀgg av Vulkan 1.4, vilket i sin tur kommer att krÀva en kompatibel drivrutin.

DXVK anvÀnder nu dxbc-spirv för kompilering av shadere för alla stödda shadermodeller. Detta löser ett antal problem som tidigare var omöjliga att ÄtgÀrda:
Renderingproblem i spel, orsakade av att spelen antingen förlitar sig pÄ osÀkert beteende eller att FXC i vissa fall genererar felaktig kod, som i Postal: Brain Damaged, Snowrunner.
Den genererade koden Àr mer kompakt Àn bara den omvandlade SPIR-V-koden, vilket vÀsentligt minskar mÀngden minne som DXVK anvÀnder. I spel som Overwatch eller God of War gör detta att cirka 1 GB systemminne kan sparas.
Shaderkompilering har nu helt flyttats till arbetstrÄdar, vilket kan förkorta laddningstider i spel som Days Gone och Final Fantasy XIV, eller ibland minska stutter. Tidigare utförde DXVK översÀttningen av SPIR-V i applikationens trÄd och kompilerade endast de faktiska Vulkan-pipelines i arbetsprocesser.
Den mellanliggande representationen av de kompilierade shaderna i DXVK cachas nu pÄ disken inom AppData/Local-katalogen för den aktuella Wine-prefixen. Detta Àr nödvÀndigt eftersom kompileringstiden har ökat jÀmfört med den gamla kompileraren. SökvÀgen till cachen kan Àndras med hjÀlp av miljövariabeln DXVK_SHADER_CACHE_PATH.

Den nya Vulkan-tillÀgget VK_EXT_descriptor_heap anvÀnds nu som standard i drivrutiner som stöder det.
Det förvÀntas att denna nya modell, jÀmfört med den gamla bindningsmodellen baserad pÄ VK_EXT_descriptor_buffer, kommer att leverera ungefÀr samma nivÄ av CPU-relaterad prestanda, samtidigt som den undviker prestandanedgÄng pÄ Nvidia GPUer (krÀver nvidia-drivers-595.84 och nyare).
Ändringar i D3D9
För att efterlikna en gammal pipeline med fasta funktioner som möjliggör för D3D8- och D3D9-spel att rendera utan shaders, genererade DXVK tidigare sin egen shaderkod i realtid baserat pÄ pipeline-status. I vissa spel, som Unreal Tournament 2004, kunde detta leda till mÀrkbara hack Àven efter lÄng spelperiod.

För att ÄtgÀrda detta implementerar DXVK nu pipelinen med fasta funktioner som ett par "ubershaders", för vilka optimerade versioner kompileras i bakgrunden.
Optimering av buffertinlÀsning
För att bÀttre överensstÀmma med Windows beteende laddas nu olika typer av buffertar som tidigare placerades direkt i VRAM pÄ begÀran, och en strategi för begrÀnsning av minnesanvÀndningen har ocksÄ implementerats för att ÄtgÀrda kraschproblem relaterade till adressutrymmet i flera D3D9-spel för 32-bitars system.
Dessa förÀndringar kan ocksÄ förbÀttra prestandan pÄ system utan Àndringsbar BAR-storlek i spel som GTA IV.

I system som tillrÀckligt stödjer VK_EXT_sample_locations och VK_EXT_extended_dynamic_state3 fungerar renderingstillstÄndet D3DRS_MULTISAMPLEANTIALIAS nu korrekt, vilket gör det möjligt för applikationer att anvÀnda rasterisering med ett prov vid rendering till mÄlrenderingsobjekt med flera prover. Detta eliminerar problem med UI-rendering i Anno 1701, Men of War Assault Squad och liknande problem i andra spel med MSAA aktiverat.

Gemensamma resurser fungerar nu med den ursprungliga implementeringen av Wine och krÀver inte lÀngre patchar som Àr specifika för Proton.

Det Àr ocksÄ vÀrt att nÀmna de mÄnga fixarna för olika spel som nu kommer att fungera bÀttre.

KĂ€lla: linux.org.ru

Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar đŸ”„ Köp pĂ„litlig webbhotell med DDoS-skydd, VPS VDS-servrar | ProHoster