Wine's Vulkan Code Seeing Performance Improvements, Further Enhancing DXVK
D9VK (now part of DXVK) developer Joshua Ashton has proposed a set of patches to Wine's Vulkan library (Winevulkan) that should help with performance.
Ashton's patch-set works to reduce heap allocations in many of the Vulkan commands and instead is using alloca to place the small items on the stack. These excessive heap allocations in Winevulkan were happening "thousands of times per second" and "these structures and arrays of structures are small, and this is all super duper hot path code."
No performance numbers were passed along as part of the patches by Joshua with the patches but does note it will affect usage with DXVK/D3D9.
With how great Proton/Wine is already performing for many Windows games with DXVK, it will be interesting to see what more the developers can squeeze out over the next year. One area still in need of a fair amount of work is VKD3D for Direct3D 12 over Vulkan. Wine/CodeWeavers developers are also still working slowly on a possible Vulkan back-end to WineD3D.
Ashton's patch-set works to reduce heap allocations in many of the Vulkan commands and instead is using alloca to place the small items on the stack. These excessive heap allocations in Winevulkan were happening "thousands of times per second" and "these structures and arrays of structures are small, and this is all super duper hot path code."
No performance numbers were passed along as part of the patches by Joshua with the patches but does note it will affect usage with DXVK/D3D9.
With how great Proton/Wine is already performing for many Windows games with DXVK, it will be interesting to see what more the developers can squeeze out over the next year. One area still in need of a fair amount of work is VKD3D for Direct3D 12 over Vulkan. Wine/CodeWeavers developers are also still working slowly on a possible Vulkan back-end to WineD3D.
18 Comments