https://github.com/doitsujin/dxvk/releases/tag/v1.9.4 Bug fixes and Improvements
•Fixed an issue that would cause VRAM to not be utilized on RBAR-enabled Nvidia GPUs if the dxvk.shrinkNvidiaHvvHeap option is enabled (#2438).
•Enabled strict D3D9 float emulation by default on future versions of RADV. This may improve both accuracy and GPU-bound performance (PR #2448).
•Improved memory allocation behaviour. This may reduce memory usage especially in games that create multiple processes or D3D devices.
•Removed obsolete options to disable OpenVR support.
•God of War: Enabled performance optimizations and DLSS support. Note that these changes are already included in Proton Experimental.
What's new in this release:
- ALSA driver converted to PE.
- Locale database generated from Unicode CLDR.
- HLSL compiler support with the bundled vkd3d.
- Initial support for the OCSP protocol.
- More cleanups to support 'long' type.
- Various bug fixes.
What's new in this release:
- 'Light' theme enabled by default.
- Bundled vkd3d library.
- WineD3D, D3D12 and DXGI modules converted to PE.
- More large scale cleanups to support 'long' type.
- Various bug fixes.
What's new in this release:
- More large scale cleanups to support 'long' type.
- Proper support for API sets.
- Progress on the PE conversion of USER32 and WineALSA.
- A number of HID joystick fixes.
- Various bug fixes.
What's new in this release (see below for details):
- Large scale cleanup to support 'long' type with MSVCRT.
- Mono engine updated to version 7.1.1.
- More theming fixes in common controls.
- Beginnings of a WMA decoder.
- Support for 64-bit time_t.
- Various bug fixes.
•Reduced unnecessary worker thread synchronization around resource readbacks for both D3D11 and D3D9. This can significantly increase CPU-bound performance in games like Assassin's Creed: Origins and other titles built on the same engine, with smaller improvements seen in Elex II, God of War, GTA IV and others.
•When using D3D11_MAP_WRITE on a staging resource that's currently being read by the GPU, DXVK will now attempt to create a copy of that resource in order to avoid GPU synchronization. This improves performance in Quantum Break and potentially other games. This behaviour can be tweaked using the d3d11.maxImplicitDiscardSize option.
•Optimized UpdateSubresource for small constant buffer updates. This further improves performance in God of War and potentially other games.
•Improved the way resource uploads and staging buffers are handled in D3D11. This may reduce memory usage and CPU overhead in some games.
•Added more information to the HUD that can be useful for troubleshooting performance issues: GPU synchronizations per frame, worker thread synchronizations per frame, and pipeline barrier count.
•GPU synchronization, when necessary, no longer uses busy-waiting, which may reduce power consumption on portable devices in some games.
Bug fixes and Improvements
•Added a D3D11On12CreateDevice stub so applications using this don't immediately crash (PR #2485).
•Note that supporting D3D11on12 is currently not viable.
•Version numbers for Intel's Windows driver should now be reported properly.
•Note that using DXVK on this driver is highly discouraged and will likely not work.
ArmA 2: Fixed texture-related issues (PR #2477).
•Black Mesa: Fixed lighting issues.
•Resident Evil 0, 5, 6, Resident Evil: Revelations 2: Improved performance (PR #2466).
•Total War: Warhammer III: Significantly improved GPU-bound performance on setups with a dedicated GPU.
Per-game workarounds
Replaced the previous d3d11.apitraceMode option with d3d11.cachedDynamicResources, which provides a more granular way to specify resource types to allocate in cached system memory. Refer to the example dxvk.conf for details. This change was not made for the equivalent D3D9 option yet.
Normally, D3D11_USAGE_DYNAMIC resources are expected to be write-only from the CPU and read-only from the GPU, but despite this, some games perform CPU-side reads on the mapped memory, which can cause severe performance degradation since those reads would have to go over PCI-E, or at least uncached write-combined memory. This is especially problematic on systems with Resizeable BAR and can cause issues even on Windows D3D11 drivers.
Games that will use this option by default include Age of Empires 2: Definitive Edition (#2491), Anno 1800, Final Fantasy XIV, Nier Replicant, The Evil Within (PR #2522), and all games that previously had d3d11.apitraceMode enabled by default.