Developers, please take a look at DXVK to improve performance

Discussion in 'General Discussion' started by Peter Kerenyi, Jan 15, 2022.

  1. Maskerader

    Maskerader Well-Known Member

    Joined:
    Oct 6, 2019
    Ratings:
    +415 / 0 / -0
    No, this feature is relatively new while my mobo is from 2014. The strange part is that this feature is not exactly required to have improvements with DXVK, for example Andi's CPU/mobo are similarly old but he's got a performance boost.

    I'll probably get a newer PC soon and will report what I get.
     
    Last edited: May 31, 2024
  2. Maskerader

    Maskerader Well-Known Member

    Joined:
    Oct 6, 2019
    Ratings:
    +415 / 0 / -0
    I also found this in Discord. Looks like the performance can also be track-dependant:
    From what I understand, that was with Resizeable BAR. But without it the performance was also very different depending on the track.
     
  3. Thomas Jansen

    Thomas Jansen KW Studios Developer

    Joined:
    Apr 5, 2018
    Ratings:
    +601 / 0 / -0
    One issue that seems to show up with DXVK is some stuff always acting as if it's in shadow. This is why the smoke is black, and another part we found it on is the gloves and sometimes the steering wheel in cockpit. We fixed both of those now :)

    Definitely let us know if you encounter anything else that looks a lot darker than without DXVK, quite likely it will be a similar fix.

    @AlleyViper The dots appearing on the grid at portimão seems to be because the transparency layer is still there, but at a super low value. You don't even see the tyre marks without DXVK, and I guess it bugs out the transparency dithering in DXVK. So that can also be fixed, since it seems the dots are gone when the tyre marks are more opaque, such as on Lausitz.
     
    • Like Like x 1
    • Love it! Love it! x 1
  4. bubblejohns

    bubblejohns Active Member

    Joined:
    Oct 8, 2019
    Ratings:
    +31 / 0 / -0
    odd little thing since i went to amd is driving group4 the porsche pumps out black smoke like its rolling coal, and others with nvidia couldnt see it much
     
  5. AlleyViper

    AlleyViper Active Member

    Joined:
    Dec 10, 2016
    Ratings:
    +40 / 0 / -0
    I confirm the above, If you check my other post, it looks like the problem was also present on AMD under native DX9 since long, so atm there's no difference vs. DXVK (unlike in NV). Glad to know it's fixed (and not intended)!

    Yes, that was the reason for my first post, there was gray alpha on skidmarks area that would either require alpha blending (to apply it precisely), or for it to be predominantly opaque for AT usage.

    You might wish to check at MSAA 4X vs. 8X if many users run it (always with FXAA Off to avoid interference). It could affect number of dither steps and their thresholds to 100% opaque or transparent. That's my experience with AMD in DX11 games like AC. Not sure the math is right, but for the last step could be something like: if >90% rounds to 100% at 4x, it might need >94.5% under 8X because denser/extra dither steps will then be available, while at 2X >83.3% would be enough. I'm assuming those are the middle/rounding points between the last dither step and full value, but could work very differently (or my step count is wrong).
    Best way to check, is creating a large texture for AT with a gradient from 0-100% alpha and a bleed at the end for solid 0 and 100%, then, a strip of visible ruler/markings on the diffuse over the alpha gradient. So to check ingame if and at which point n dither bands will render depending on MSAA nX running on DXVK. That'll give you the thresholds to predict dither behavior and rounding vs alpha values.

    IMHO it's then the basic AT rounding to 0 or 255 in DX9 that requires a different approach to alphas when porting those textures to later engines that allow intermediate AT/A2C step values, so grey values a couple of pixels wide only exist to better smooth cutouts, while avoiding large areas. Not really a bug in DXVK per se.
     
    Last edited: Jun 1, 2024
  6. keanos

    keanos Well-Known Member

    Joined:
    Oct 29, 2015
    Ratings:
    +142 / 0 / -0
    I think this System is technically too old, to get use of the benefits from DXVK. Yes it will work, and at some points it will help, but old hardware often has more "problems" then newer hardware.
     
  7. Maskerader

    Maskerader Well-Known Member

    Joined:
    Oct 6, 2019
    Ratings:
    +415 / 0 / -0
    There's something else going on than just age. Like I said, Andi also has an old system (older CPU, MB from the same generation/launch, older GPU) but he gets improvements.
     
  8. keanos

    keanos Well-Known Member

    Joined:
    Oct 29, 2015
    Ratings:
    +142 / 0 / -0
    Can you check how the difference is on newer tracks like pau or the newly rebuild portimao? Maybe thats the reason, you sometimes get improvements and in other cases not?
     
  9. Maskerader

    Maskerader Well-Known Member

    Joined:
    Oct 6, 2019
    Ratings:
    +415 / 0 / -0
    I tried the new Portimao too, performance was just as bad as on Spa for example. I might try some more tracks next weeks.
     
  10. javi_crash

    javi_crash Member

    Joined:
    Jan 25, 2017
    Ratings:
    +19 / 0 / -0
    Race against AI on the Nordschleife 24h. With 10 cars on the track (Porsche 944 Turbo), in DX9 it maintains about 60FPS (vsync on) but in DXVK it does not exceed 17FPS. On other tracks there is improvement with DXVK, but here it is the opposite.

    My PC is a i7-4790K, RTX3060 with triple monitor (5760x1080).
     
  11. RangeyRover

    RangeyRover New Member

    Joined:
    Apr 16, 2020
    Ratings:
    +2 / 0 / -0
    I'm glad that Raceroom are taking a longer look at this.

    Portimao GT4 No Sync 5800x3d 4090

    Game Name Comment Average FPS
    RRRE64 D3D9 3440x1440 All Maxed 185.9
    RRRE64 DXVK 3440x1440 All Maxed 253.4
    RRRE64 D3D9 3440x1440 Sane GFX Settings 245.2
    RRRE64 DXVK 3440x1440 Sane GFX settings 311.1
    Here's my results with CapFramex
    [​IMG]
     

    Attached Files:

    Last edited: Jun 5, 2024
  12. M. Hartmann

    M. Hartmann New Member

    Joined:
    Jul 23, 2023
    Ratings:
    +0 / 0 / -0
    Hello,
    on my hardware 3800x3d, x470 msi gaming carbon, msi ventus 3090 , resizable bar on, newest dxvk, I have a benefit of ca. 30% more fps.
    And the lightning is a little darker, but with more contrast. No micro stuttering.
    Many regards
    Michael
     
  13. AlleyViper

    AlleyViper Active Member

    Joined:
    Dec 10, 2016
    Ratings:
    +40 / 0 / -0
    I've left this info on the R3E discord, but no hurt in leaving it here too:
    Just in case anyone with an AMD card + yesterday's 24.6.1 drivers suddenly isn't able to run R3E+DXVK anymore, and it now hangs when entering a session after loading screens, you'll then have to disable GraphicsPipelineLibrary support on DXVK.
    The latest driver makes it available to DXVK, allowing background pre-compilation under default "Auto" support, but at least with my 6700XT it's not working properly, resulting in a app hang and a lost device in the DXVK log before the track is rendered.

    To do so and revert to previous behavior (as paired with 24.5.1 drivers), you'll have to add to your "dxvk.conf" plain text file (placed under "raceroom racing experience\Game", NOT "raceroom racing experience\Game\x64" where DXVK's d3d9.dll should reside):
    Code:
    dxvk.enableGraphicsPipelineLibrary = False
    
    As mentioned before, I also make use of:
    Code:
    # dxvk.hud = fps,frametimes,gpuload
    # dxvk.hud = devinfo,fps,frametimes,gpuload,api,version,memory,compiler
    d3d9.maxFrameRate = 72
    d3d9.maxFrameLatency = 1
    dxvk.enableGraphicsPipelineLibrary = False
    
    As usual, you might wish to set the above framerate limiter a bit bellow your max VRR range like -3fps (72 is meant for a 48-75Hz Freesync monitor; for a 144Hz VRR monitor 138 to 141 is advisable), to avoid tearing, or extra latency when combined with Vsync to avoid it acting as the main frame limiter. Two optional HUD layouts are commented out with #.

    Update: This workaround shouldn't be necessary anymore. Just update dxvk's d3d9.dll to 2.4 (link), so GraphicsPipelineLibrary support will work properly under latest drivers.
     
    • Informative Informative x 3
    Last edited: Jul 25, 2024
  14. davizdj

    davizdj New Member

    Joined:
    Apr 15, 2019
    Ratings:
    +0 / 0 / -0
    Hi, this work in vr mode??
     
  15. AlleyViper

    AlleyViper Active Member

    Joined:
    Dec 10, 2016
    Ratings:
    +40 / 0 / -0
    An update to the previous situation, dxvk 2.4 is out and solves the situation mentioned in the above post when using AMD 24.6.1/24.7.1 drivers in combination with R3E+d3d9.dll dxvk wrapper. These had finally enabled GraphicsPipelineLibrary support on dxvk so it becomes automatically enabled, but things weren't going well, causing a hang at session start (IME w/ 6700XT). From the changelog:
    Did a quick launch after updating the Game\x64\d3d9.dll wrapper, and removed "dxvk.enableGraphicsPipelineLibrary = False"* from \Game\dxvk.conf. Now it won't hang anymore when the background compilation should be happening at session start, it just takes a bit longer to come off a black screen before the track shows on the first run. If all is working fine, this should reduce later dxvk-related compilation stutters while playing.
    Oh, and beware that when GraphicsPipelineLibrary support is active, Game\RRRE64.dxvk-cache file won't be used anymore, and all caching will remain on the driver's own paths.

    * don't set it to "True". That's a debug option with different behavior to default "Auto" (the proper way to enable it). "True" disables background compilation, but then runtime compilation will be slower as it'll be done on gpu instead of cpu side, so it offers no advantage to regular "False" behavior.
     
    • Informative Informative x 2
    Last edited: Jul 25, 2024
  16. 247

    247 Active Member

    Joined:
    Jan 29, 2015
    Ratings:
    +44 / 0 / -0
    hello, had a try right now

    at portimao i could get 27 fps in cockpit view, with 18 opponents and 33 fps in chase view (whatever is called) with the usual dx9

    with this dxvk i seem to get 75 fps quite stable in both views (my monitor has a refresh rate of 75 max)

    all with high settings (not ultra, just more than medium, eg blur is only enabled on surfaces and not on the entire world) and just for the record, i run the game on Fedora Workstation 40

    oh, i had to enable resizable bar and above 4g in the bios

    this seems to be a massime improvement to me but i need to test more of course...
     
  17. Maskerader

    Maskerader Well-Known Member

    Joined:
    Oct 6, 2019
    Ratings:
    +415 / 0 / -0
    What's your hardware?
     
  18. Andi Goodwin

    Andi Goodwin Moderator Beta tester

    Joined:
    Jan 16, 2015
    Ratings:
    +803 / 0 / -0
    has to be reasonably new to have a rebar option

    Andi
     
  19. 247

    247 Active Member

    Joined:
    Jan 29, 2015
    Ratings:
    +44 / 0 / -0
    relatively new in fact

    ryzen 5900
    radeon 6600 6gb
    asrock steel legend motherboard

    i read on the web that the 6xxx is the first to support resizable bar

    a friend with older components have it too, but he's yet to find any noticeable improvement, althought he didn't really test extensively
     
  20. Maskerader

    Maskerader Well-Known Member

    Joined:
    Oct 6, 2019
    Ratings:
    +415 / 0 / -0
    Then 27 FPS is a completely broken performance and I wouldn't use it for a comparison.