No doubt some of our readers will be in for a busy weekend testing, with another release of DXVK now officially available.
Developer Philip Rebohle put out DXVK 1.4.3 this evening which adds in a new file format for the state cache, which should give smaller files. The state cache from previous versions of DXVK should be converted automatically, so no manual effort is required.
Additionally, even more performance is continuing to be squeezed out of this Vulkan layer for Wine as it has a reduction in CPU overhead. It was noted that it should be of particular benefit to those games that have a large number of different shaders. Frankly, I'm amazed Rebohle can somehow still push the performance even further.
On top of that, a few bug fixes were added into the mix too:
- Fixed incorrect barriers in case graphics shaders write to UAVs.
- Fixed incorrect MSAA sample positions being reported to shaders.
- Fixed some MSVC compiler warnings (#1218).
Find DXVK on GitHub.
Quoting: LunielleIt's not that amazing when...Considering this is an outside layer, that the game developers don't give any thought to and it's all unofficial running on an unsupported platform, it's amazing.
Quoting: LunielleIt's not that amazing when you see games like Monster Hunter World achieve just 70% of FPS compared to Windows.. Why do some games have such low performance while others can perform, even better than Windows sometimes? Aside from that DXVK is truly amazing.
Both Wine and DXVK still are "translation" layers that convert Windows calls to Linux/vulkan calls. These imply some overhead, as it's not a 1:1 translation with all the APIs outside Wine and DXVK being developed specifically for it, like those on Windows.
Quoting: LunielleIt's not that amazing when you see games like Monster Hunter World achieve just 70% of FPS compared to Windows.. Why do some games have such low performance while others can perform, even better than Windows sometimes? Aside from that DXVK is truly amazing.
3/4 of the performance isn't that bad, if you can play at 70~80fps on Windows, you can obviously hit 60fps with some adjustment on Linux.
It IS really amazing
Quoting: LunielleIt's not that amazing when you see games like Monster Hunter World achieve just 70% of FPS compared to Windows.. Why do some games have such low performance while others can perform, even better than Windows sometimes? Aside from that DXVK is truly amazing.Different games do vastly different things, and with this little data it's impossible to tell why it runs poorly on your system (are you CPU-bound? GPU-bound?).
Monster Hunter World in particular is known to be crazy (read: stupid) with its multithreading, which can cause all sorts of performance issues on wine especially if you aren't using fsync. Should it be DXVK's fault, then yeah, Nvidia's D3D11 driver still has a significant edge and that isn't likely to ever change, it's a translation layer after all.
Quoting: Liam DaweConsidering this is [...] running on an unsupported platform, it's amazing.While there's truth to that, we're really looking at getting as close to parity as possible, and just 70% of Windows performance is pretty bad to be perfectly honest. Especially when most games get ≥85% these days, at least on AMD GPUs.
Quoting: YoRHa-2BFair enough! Still continues to impress me though and all these improvements you keep doing should add up nicely over time :)Quoting: Liam DaweConsidering this is [...] running on an unsupported platform, it's amazing.While there's truth to that, we're really looking at getting as close to parity as possible, and just 70% of Windows performance is pretty bad to be perfectly honest. Especially when most games get ≥85% these days, at least on AMD GPUs.
Quoting: YoRHa-2BWhile there's truth to that, we're really looking at getting as close to parity as possible, and just 70% of Windows performance is pretty bad to be perfectly honest. Especially when most games get ≥85% these days, at least on AMD GPUs.Do you think that it will be easier to get closer to Windows performance with VKD3D for DX12 games than with DXVK and DX11 games? Considering the similarities DX12 and Vulkan share and the opposite for DX11 and Vulkan.
Quoting: LinuxwarperDo you think that it will be easier to get closer to Windows performance with VKD3D for DX12 games than with DXVK and DX11 games? Considering the similarities DX12 and Vulkan share and the opposite for DX11 and Vulkan.Believe it or not, but mapping D3D12 to Vulkan is harder than D3D11. Yes, the APIs are similar in concept, but there are many little details which make it rather painful and introduce overhead in vkd3d. D3D11 might need more code, but it's fairly straight-forward for the most part since its abstractions are higher-level.
That said, in games where D3D12 is significantly better than D3D11, you'll find that vkd3d beats dxvk by a fair margin as well, so it's by no means slow, but there are quite a few nasty issues to sort out.
Quoting: YoRHa-2BQuoting: LinuxwarperDo you think that it will be easier to get closer to Windows performance with VKD3D for DX12 games than with DXVK and DX11 games? Considering the similarities DX12 and Vulkan share and the opposite for DX11 and Vulkan.Believe it or not, but mapping D3D12 to Vulkan is harder than D3D11. Yes, the APIs are similar in concept, but there are many little details which make it rather painful and introduce overhead in vkd3d. D3D11 might need more code, but it's fairly straight-forward for the most part since its abstractions are higher-level.
That said, in games where D3D12 is significantly better than D3D11, you'll find that vkd3d beats dxvk by a fair margin as well, so it's by no means slow, but there are quite a few nasty issues to sort out.
Looked over the list at https://wiki.winehq.org/Vkd3d_known_issues and oboy you where not kidding. The difference in binding model and heap descriptors does not sound fun at all, reducing overhead there is going to be a major pain.
See more from me