I have noticed the two following threads on Blizzard's forum:
https://eu.forums.blizzard.com/en/warcraft3/t/fps-drops-back/1035/2
https://us.forums.blizzard.com/en/warcraft3/t/the-frame-rate-still-has-a-significant-drop/33206
Both are speaking of FPS drop since 2.0, it seems. The timing seems consistant. Although, they are talking about getting from 240 FPS to 100 or 60 FPS while I'm getting at 7-12 FPS. Not sure if the difference is only due to hardware ?
So, it could be possible that the issue is from on blizzard's side, but I feel like what i'm experiencing is way more terrible than what these reports are talking about.
Also, I want to point out that I did play that game recently (couple of weeks ago) and it was fine. Not sure if it's dxvk related. I'm just starting here...
Terrible or not, it definitely sounds like a game induced issue then, which is out of our scope to address. Since this is about a game that is under active development, I'd recommend waiting until the problem is addressed and the game performs as expected on native/Windows. Should you still get iffy performance with dxvk in the game at that point, do let us know.
Performance on Windows is acceptable though while it's not on Linux whether there's a bug or not. Shouldn't linux be able to offer a performance close to what is reported by others on Windows?
The lowest reported in the forums was 60FPS and I'm here with 7FPS with a more than capable graphic card. I just think that even if there is a bug in the game, it still seems to me there is performance to gain on the linux side. I'm wondering if that linux gap sits in DXVK or not.
You can look at this streamer having 100FPS ingame:
https://www.youtube.com/@FollowGrubby/videos
Why wouldn't Linux/DXVK give something closer ? Again, my graphic card is more than capable.
I do have a Windows partition. I might just try to make room on it and try to install it on Windows to compare and I'll report back in order to eliminate the hardware difference hypothesis.
What is VRAM usage looking like? Post a screenshot with DXVK_HUD=full
Something is wrong:
GPU is 1% and CPU is 8% usage....
VRAM:
DXVK_HUD:
How does it behave when ran without fsync and esync?
How does it behave when ran without fsync and esync?
This is behaving the same.
@sim590 Do you also have a iGPU in your system?
@sim590 Do you also have a iGPU in your system?
Nope.
Does running with DXVK_CONFIG="d3d11.cachedDynamicResources = a" help?
If not then try running it with dxvk 2.3.1 along with DXVK_CONFIG="dxgi.useMonitorFallback = True"
@Blisto91 NICE.
Using
DXVK_CONFIG="d3d11.cachedDynamicResources = a"
made all the difference!
And 101 FPS was a frame drop due to my screen capture app making the app in background. I actually get 144 which is my cap limit. I imagine, I get even better FPS!
Can you explain what's going on? Is it a common option that I should have expected to be on, but is not for some reason? Is it bad config, or a particular case? Do you expect this to be enabled in my other games where I get OK performance?
The comment in the example dxvk.conf explains it already quite well https://github.com/doitsujin/dxvk/blob/master/dxvk.conf#L279
I am not reproducing any uplift myself so we are probably not going to make it a builtin config for this game i imagine.
Besides some rare few games where it can give a uplift to everyone it can also sometimes help specifically on systems that have issues with rebar performance. I imagine the latter is going on here.
I have enabled resizable bar as per the explanations here:
https://wiki.archlinux.org/title/Improving_performance#Enabling_PCI_resizable_BAR
So, you suspect that this is what is causing my issues?
Try to disable ReBAR and also don't set the cachedDynamicResources and see how it performs then.
Bad rebar performance is my best guess yes.
So I tried disabling both the option and resizable bar and it did fix the major issue. Although, I got around 100FPS this way instead of the 144FPS with resizable bar AND the option you suggested. Or could it be a bad reading in the latter case? I'm wondering because the FPS was steady at 144FPS never changing. Even if I did remove the FPS cap to 144, it didn't move up or down. So, is the performance actually the same, but just badly read when resizable bar and d3d11.cachedDynamicResources = a is configured?
Also, does d3d11.cachedDynamicResources = a actually makes it like resizable bar is disabled? My question is if it's gonna prevent resizable bar optimizations to be enabled? I'm asking because according to the arch wiki, there are these "AMD Smart Access Memory" optimizations that are enabled when resizable bar is enabled. If that doesn't prevent these optimizations, I would just use the DXVK config alongside the resizable bar setting to try to get the best performance, hopefully...
Also, does d3d11.cachedDynamicResources = a actually makes it like resizable bar is disabled? My question is if it's gonna prevent resizable bar optimizations to be enabled?
Setting that option prevents DXVK from using BAR memory, but the Vulkan driver may still use it internally for some things.
DXVK also uses BAR memory if ReBAR is disabled, it's just limited to (less than) 256MB in that case.
Alright. Since the mystery is resolved, I'll close this. I understand that the best might be to stick with resizable bar and pay attention to that parameter if issues happen. Thanks for support!
DXVK_CONFIG="d3d11.cachedDynamicResources = a"x2 2024-11DXVK_CONFIG="dxgi.useMonitorFallback = True"x1 2024-11DXVK_HUDx1 2024-11DXVK_HUD=fullx1 2024-11
The title.
Also, I want to point out that I did play that game recently (couple of weeks ago) and it was fine. Not sure if it's dxvk related. I'm just starting here...
Software information
Warcraft 3. Settings were at lowest preset.
System information
Apitrace file(s)
https://mega.nz/file/6uInDZ6J#_r420DwzC2T8AX-6-QhRn-9t8N42zLj8NaGuQwlvpzs
When I tried to disable DXVK for making the API trace, it crashed, so I left it.
Log files
wine.log