protonscr

Total War Warhammer 3

dxvkclosed
doitsujin/dxvk#2513 · opened 2022-02-21 by desp3ar · updated 2022-02-22 · 6 comments · github
Ddesp3ar 2022-02-21 github

Hi. First and foremost thanks for all your good work.

I recently tried DXVK on total war warhammer 2 in Windows 10 and it solved major stuttering and performance issues with my RX 5700XT. The card used to downclock and GPU load jumped up and down causing stuttering. All gone thanks to your solution.

I tried the same fix in total war warhammer 3 and although the stuttering is fixed and the card is performing as intended the performance is much worse than when running without DXVK. The framerate even in the menus does not go above 40fps.

Do you have any idea whether I should change any settings in DXVK in order to improve this? Or is implementation for this game something you are looking into in the future.

Thanks in advance.

Software information

Total War Warhammer 3
DX11
I experimented with different graphics settings, performance is bad regardless, fps even in menus does not exceed 40FPS.

System information

  • GPU: PowerColor Red Devil RX 5700 XT
  • Driver: 30.0.14029.1011
  • Wine version: Not applicable
  • DXVK version: 1.9.4

Apitrace file(s)

  • Sorry i tried to do this but it gave me an error

Log files

  • d3d11.log:
  • dxgi.log:

Warhammer3_d3d11.log
Warhammer3_dxgi.log

Ddoitsujin maintainer 2022-02-21 github

Menu actually runs fine here but the game does some incredibly cursed shit with resource uploads, we're currently copying a 48MB image from system memory to VRAM every single frame because the game dosn't use UpdateSubresource for.... reasons.

Really cursed, gonna look more into this.

Ddesp3ar 2022-02-22 github

Thanks for getting onto this so quickly. This issue has me completely baffled. I have no issues with any other total war game other than WH2 and WH3. Or any other game for that matter.

If it helps the stuttering happens mainly when battles are taking place when the troops engage. At the begging of the battles there is no stutter and I have good fps. As it progresses and the troops start to engage the fps drops and both sound and video stutter. The card starts to downclock memory and GPU load drops. The temps are fine, my cpu is fine as far as I can tell. Also it gets a lot worse if theres a lot of VFX effects. If I take the camera away from the battle the fps increases and card memory clock and load rises.

The only fix that worked for me before was to run DX12 on WH2 but they've dropped support for it on the new one. Then I came across DXVK and its like magic. It eliminates all stutter and the card is stable even in large battles.

Hope you're able to crack it for this one. Thanks again.

Ddoitsujin maintainer 2022-02-22 github

This branch should fix performance in this game, at least as far as GPU-bound performance is concerned. This will require extensive testing in a large number of games though as this may expose game bugs or cause unexpected performance regressions.

Build will be available here.

Ddesp3ar 2022-02-22 github

Thank you. After testing this WH3 the fps has certainly improved but now the stuttering is back. I also tested this version in WH2 and the same happened. Whatever you fixed that improved performance also somehow brought back the issue with the stuttering. The GPU usage is again unstable and I get some significant downclocking.

I'm running the card in a eGPU enclosure not sure that might have something to do with it? You mentioned the game was pulling a lot of info from system memory into VRAM each frame so perhaps its a bandwidth problem with it being connected via thunderbolt 3?

Ddoitsujin maintainer 2022-02-22 github

Yes, the game isn't going to run well on that kind of setup, and DXVK in particular isn't optimized for eGPUs in any way.

Ddoitsujin maintainer 2022-02-22 github

Pushed a different version of the fix to master which uses an app profile instead.

Nothing extracted yet.