DXVK (DirectX over Vulkan) - info a vše okolo

Libovolný výrobce, technologie, informace, rady, výběr, ovladače.

Moderátoři: morke, Walker1134, PKBO, Hladis

Krteq
Čestný člen
Čestný člen
Registrován: 22. dub 2005
Bydliště: Brno

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Příspěvek od Krteq »

DXVK 2.4.1

General improvements
  • The size for memory chunks is now determined dynamically based on the amount of memory the application has already allocated.
    This should improve the out-of-the-box behaviour in various game launchers; the dxvk.maxChunkSize option was removed accordingly.
  • Fixed an issue where the Vulkan swap chain would not always be recreated appropriately in a native Wayland environment. (PR #4252)
  • Fixed an issue with descriptor pools growing too large on Nvidia cards in some situations. (PR #4166)
  • Changed default shader code generation for DXBC mad instructions to work around flickering issues in games that use different vertex shaders to render the same geometry in multiple render passes. The d3d11.longMad and d3d9.longMad options were removed accordingly.
D3D8 / D3D9
  • Improved overall robustness of the D3D8 implementation with error handling and fixed various memory leaks.
  • Slightly improved performance by optimizing vertex buffer uploads. (PR #4275)
  • Significantly improved performance in some games using Software Vertex Processing. (PR #4274)
  • Fixed full-screen presentation issues in some Game Maker games. (PR #4245)
  • Removed VK_IMAGE_USAGE_SAMPLED_BIT from textures that don't need it. (#4176)
  • Enabled strict float emulation by default on AMDVLK now that this driver optimizes the pattern emitted by DXVK. (PR #4203). Do note that this was already the case on RADV.
  • Chrome: Gold Edition: Enabled 60 FPS limit to work around game issues at higher frame rates. (PR #4260)
  • GTA: San Andreas: Fix regression that made it crash with DXVK 2.4 (#4141, PR #4151)
  • Operation Racoon City: Worked around a game crash. (#4172, PR #4175)
  • Prince of Persia (2008): Enabled 240 FPS limit to work around game issues at very high frame rates. (PR #4281)
  • Rayman 3: Fixed missing geometry. (PR #4143)
  • Serious Sam 2: Fix in-game videos (#4158, PR #4161)
  • Splinter Cell: Pandora Tomorrow: Enabled 60 FPS limit to fix broken input and physics. (PR #4254)
  • The First Templar: Fixed lighting issues. (#4291, PR #4292)
  • The Sims 2: Fix regression that made it crash with earlier DXVK versions (PR #4277)
D3D11 / DXGI
  • Worked around a general issue wherein some games default to an integrated GPU based on the amount of available video memory.
  • Worked around an issue where various games would misbehave when the amount of available VRAM is reported as a power of two.
  • Changed shader code generation for dot product instructions to be more in line with code generation on native drivers.
    This fixes a water rendering issue in Trails through Daybreak on Nvidia. (#4162)
  • Implemented a basic dead code elimination pass to avoid generating invalid SPIR-V shaders in rare situations.
    Note: All these shader-related changes will invalidate fossilize databases.
  • Games will now leave fullscreen mode when the game window loses focus.
    This is closer to Windows behaviour and fixes various issues with games hanging on some setups. (PR #2675)
  • Made sure the built-in options in DXVK for a game take precedence over the options enabled/disabled by DXVK-NVAPI.
    This fixes a performance regression in God of War on Nvidia GPUs.
  • Batman Arkham Knight: Worked around an issue where the game does not start when it detects an Intel GPU. (PR #4152)
  • Hunt Showdown: Fixed a crash caused by DXVK reporting a very high UMD driver version.
  • Kena: Bridge of Spirits: Worked around a water rendering issue when the game detects an Intel GPU. (PR #4207)
  • Microsoft Flight Simulator: Fixed garbled screen on start-up (#4276)
  • Senran Kagura Peach Ball: Fixed character models being rendered the wrong way around. (#4216)
  • The Sims 4: Work around a crash caused by a use-after-free bug in the game.
GitHub - doitsujin - DXVK
sam_217
Mírně pokročilý
Mírně pokročilý
Uživatelský avatar
Registrován: 16. bře 2008
Bydliště: Subprostor
Kontaktovat uživatele:

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Příspěvek od sam_217 »

Další zajímavá věc se starší hrou - nyní testuji přechod z RX 6800 XT na RTX 3080 Ti, v AC Odyssey jakožto AMD supported hře se té RX 6800 XT daří o dost lépe, než 3080 Ti (111 vs 88 fps AVG v built-in Benchmarku)... viděl jsem, že ale je tam nějaký problém s frame pacingem a GPU usage taky haprovalo, takže bylo jasné, že důvod proč má RX 6800 XT tady navrch proti 3080 Ti není zrovna kvůli HW... ¨

Tak jsem zkusil DXVK a ejhle, problémy se stuttery/frame pacingem na 3080 Ti jsou pryč a výsledek v benchmarku se vyrovnal výsledku 6800 XT (tj. plichta)... ještě jsem nekontroloval vizuálně pod lupou, jestli je vše v pořádku jak má být, ale nastavení detailů ve hře bylo vždy maximální a zběžně OK.
PC1: AMD Ryzen 5800X3D@NejdeOC Noctua NH-D15S // X570 AORUS MASTER (rev 1.0) // 4x8GB Patriot Viper Steel 3866MHz@3600MHz CL16 // Sapphire RX 6800 XT Nitro+ SE // MSI Optix MAG274QRF-QD - 1mrtvý quantum dot pixel!!! // Samsung PM961 (1TB NVMe), Crucial M4 256GB, Micron enterprise SSD1920GB, Crucial MX500 2TB... // Corsair Graphite 600T // SSR-850FX

PC2: Lenovo Legion 5 17ACH6H - Ryzen 7 5800H / 16GB / RTX 3070 mobile 130W TDP
Krteq
Čestný člen
Čestný člen
Registrován: 22. dub 2005
Bydliště: Brno

Re: DXVK (DirectX over Vulkan) - info a vše okolo

Příspěvek od Krteq »

DXVK 2.5

Memory managment
Resource and memory management were completely rewritten in order to use allocated video memory more efficiently:
  • Reduced fragmentation may reduce peak memory usage in games such as God of War by up to 1 GiB in extreme cases.
  • Memory defragmentation is now performed periodically to return some unused memory back to the system.
    The goal is not to reduce VRAM usage at all costs; instead this is done conservatively if the system is under memory pressure, or if a significant amount of allocated memory is unused. Keeping some unused memory is useful to quickly service subsequent allocations.
Note: Defragmentation is currently disabled on Intel's ANV driver, see #4434. The dxvk.enableMemoryDefrag config option can be set to enable or disable this feature via the the Configuration file.

Driver support
While technically not required, the new memory management works best on drivers that support both VK_EXT_memory_budget and VK_KHR_maintenance5. The Driver Support page was updated accordingly.

D3D8 / D3D9
Software cursor
Support for emulated cursors was implemented for the D3D9 cursor API, which allows games to set an arbitrary image as the mouse cursor. This fixes an issue in Dungeon Siege 2 (#3020) and makes the cursor appear correctly in Act of War and various older D3D8 games. (PR #4302)

Obrázek

Sampler pool
Unreal Engine 3 games using D3D9 have a quirk in that they pass a seemingly uninitialized value as the mipmap LOD bias. In order to avoid creating more Vulkan sampler objects than the driver supports, previous versions of DXVK would round the LOD bias to a multiple of 0.5, which could introduce visual inaccuracies. As a more correct soluition, DXVK will now destroy unused Vulkan samplers on the fly and use the correct LOD bias.

Note: The aforementioned workaround was never needed or used in the D3D11 implementation, it only affected D3D9.

Bug fixes and Improvements
  • On Nvidia driver version 565.57.01 and newer, strict float emulation is enabled by default for improved correctness.
    Games for which this option was already enabled may see a small performance uplift on this driver.
  • Made various changes to potentially improve performace on certain mobile GPUs. (includes PR #4358)
  • Display modes are now ordered by refresh rate to be more consistent with wined3d and fix issues with some games picking the wrong display mode.
  • Fixed a large number of wine test failures.
  • Ascension to the Throne: Fixed old regression that would cause parts of the ground to render black. (#4338, PR #4341)
  • Command & Conquer: Generals: Fixed performance issue caused by a missing D3D8 entry point. (PR #4342)
  • King's Bounty: Warriors of the North: Fixed water rendering issue. (#4344, PR #4350)
  • Tomb Raider: Legend: Fixed flickering geometry with strict float emulation. (#4319, PR #4442)
  • Rayman 3: Fixed a regression that caused rendering issues. (#4422, PR #4423)
D3D11 / DXGI
Resource management changes
In order to reduce system memory pressure and improve stability in 32-bit games, creating, uploading and discarding resources is now throttled if the amount of temporary staging memory allocations exceed a certain threshold. This fixes crashes in Total War: Rome II and a number of other games. Additionally, large DYNAMIC textures commonly used for video playback will no longer use a staging buffer.

The d3d11.maxDynamicImageBufferSize and d3d11.maxImplicitDiscardSize options were removed accordingly; affected games such as Total War: Warhammer III and Ryse: Son of Rome should now perform well by default, without excessive memory usage.

Note: These changes negatively affect CPU-bound performance in a number of games, including Shadow Warrior 2.

Bug fixes and Improvements
  • SEQUENTIAL swap effects are now implemented for DXGI swap chains, which allows games to read previously presented backbuffers. This fixes an issue wherein savegame thumbnails would appear black in certain visual novels. (ValveSoftware/Proton#7017)
  • Devirtualized some D3D11 method calls to improve compatibility with Special K.
  • Fixed incorrect shader code generation for EvaluateAttributeSnapped.
  • Lock contention is reduced in certain games that use Deferred Contexts for rendering.
    This may improve performance on older CPUs in Sekiro: Shadows Die Twice and some other games.
  • Call of Duty: Modern Warfare 2 Campaign Remastered: Fixed a possible GPU hang. (#3884)
  • Diablo 4: Work around an issue where the game does not start if an integrated GPU is exposed.
  • The Sims 4: Work around a use-after-free bug in the game's D3D11 renderer for real this time. (#4360)
  • Vindictus: Work around potential rendering issues caused by uninitialized constant buffer data. (#4405, #4406)
  • Yakuza 0 and Yakuza Kiwami: Fixed a regression introduced in DXVK 2.4.1 that would cause these games to lock up on start. (PR #4297)
Miscellaneous changes
  • An SDL3 backend was added for dxvk-native. (PR #4326, #4404)
  • Fixed an issue introduced in DXVK 2.4.1 which would lead to error messages about failed buffer creation.
  • Fixed a long-standing issue where overlapping occlusion queries would lead to incorrect Vulkan usage. (#2698)
  • Fixed a rare issue wherein timestamp queries would not be tracked correctly and could read incorrect data.
  • Fixed various other issues that led to Vulkan validation errors in games such as Dishonored 2, Tales of Arise and The Sims 4.
  • Fixed various issues with MSVC builds. (PR #4444)
  • Disabled a workaround for boken render target clears on Nvidia drivers prior to version 560.28.03 on unaffected drivers.
  • If supported, VK_EXT_pageable_device_local_memory is now used to enable better driver-side memory management.
GitHub - doitsujin - DXVK
Odpovědět

Zpět na „Grafické karty“