Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WoW 3.3.5 FPS drop in d3d9ex with gxTextureCacheSize above 2047 #4403

Open
Espionage724 opened this issue Oct 26, 2024 · 8 comments
Open

WoW 3.3.5 FPS drop in d3d9ex with gxTextureCacheSize above 2047 #4403

Espionage724 opened this issue Oct 26, 2024 · 8 comments
Labels

Comments

@Espionage724
Copy link

Espionage724 commented Oct 26, 2024

Screenshot From 2024-10-26 03-43-00

With WoW 3.3.5 (2011/not Battle.net) in d3d9ex, if gxTextureCacheSize is set anywhere from 0 to 2047 FPS is fine, but 2048+ without Vsync drops my FPS immediately from 70+ to 30-ish.

I'm not aware of any benefits to setting that CVar higher so this isn't exactly an issue in my case, but I'm curious what might be going on?

  • Intel UHD 630 (Mesa 24.2.4)
  • World of Warcraft 3.3.5a.12340
  • Wine Staging 9.15 (old WoW64)
  • Fedora Workstation 41
  • DXVK 1.10.3
  • Wine Prefix: win32, WINEESYNC=1, winxp, winetricks renderer=vulkan, winetricks graphics=wayland
  • Happens 1 and 0 with WINE_LARGE_ADDRESS_AWARE
  • Doesn't affect old/default d3d9 and its textureCacheSize (no gx) setting (Console claims limited to 64 MB)

More gxTextureCacheSize testing (back-to-back in-game testing no client restart):

  • 0-2047 is fine
  • 2048-8192 is low 38 FPS
  • 8193 goes slightly higher at 40 FPS?
  • Random values above 8193 seem to overall have low sub-40 FPS (something about 20480)
  • This is all different depending on back-to-back testing in-game (even with gxRestart) vs client restarting and needs further testing (8192 is high-FPS fine on restart, but changing it and going back to 8192 same session is sub-40 again)
@WinterSnowfall
Copy link
Contributor

WinterSnowfall commented Oct 26, 2024

I see you are still using dxvk 1.10.3. I honestly don't remember if what you're seeing was caused by bug in that version or not, and even if it were, there's nothing we can do about it at this point. All things considered, I'd recommend sticking to what works if you're in a situation where your hardware doesn't support using the latest dxvk version.

P.S.: Wait, UHD Graphics 630 is Gen 9.5 Intel Graphics, so it has Vulkan 1.3 support. Why are you on dxvk 1.10.3? 😅

@Espionage724
Copy link
Author

Espionage724 commented Oct 26, 2024

Why are you on dxvk 1.10.3? 😅

I tried a master archive a few days ago and WoW's main menu had badly-corrupted textures and froze; I figured 1.10.3 worked just as-well for old WoW and went with it :p

I was trying wayland/vulkan Wine stuff at the time and didn't bother trying a newer DXVK yet, but just happened to notice this. I plan on redoing my prefix in the near future and will try this again with a newer DXVK likely.

@Blisto91
Copy link
Contributor

Blisto91 commented Oct 26, 2024

Hi there. There are some things i would like clarified.

  1. You mention d3d9Ex but from for screenshot i can see that the game uses regular d3d9 otherwise the hud would say it?
  2. Which WoW client/server are you using? 3.3.5 doesn't personally tell me anything. I have a turtle WoW account but i gather their client is built on 1.12.
  3. With the talk of gxTextureCacheSize i assume you are referring to this? https://wowwiki-archive.fandom.com/wiki/CVar_gxTextureCacheSize

Note that we do not support old dxvk versions. Do you know when the main menu corruptions start appearing? Is it only on master or does 2.4.1 also have them? I would like to get this looked at first so the newest dxvk can be tested with.
I am not reproducing the corruptions in Turtle WoW with my RTX 4080 at least.

@doitsujin
Copy link
Owner

doitsujin commented Oct 26, 2024

If the game expands that 2048 to bytes then it's likely that it just gets interpreted as a negative value. Either way, that option is clearly out of scope of anything that DXVK is doing.

@K0bin K0bin added the game bug label Oct 31, 2024
@K0bin
Copy link
Collaborator

K0bin commented Oct 31, 2024

Can you make an apitrace of the corrupted menu? So I can look into it.

@Espionage724
Copy link
Author

Espionage724 commented Nov 7, 2024

You mention d3d9Ex but from for screenshot i can see that the game uses regular d3d9 otherwise the hud would say it?

I didn't try anything else with Ex, but DXVK 2.4.1 even showed D3D9 with d3d9ex on WoW

Which WoW client/server are you using? 3.3.5 doesn't personally tell me anything. I have a turtle WoW account but i gather their client is built on 1.12.

It was the last WotLK client I think June 2010 or so (back with CDs). It was specifically from wowdl.net World-of-Warcraft-3.3.5a.12340-enUS.zip but that website closed recently. Iirc Warmane had a (relatively) unmodified 3.3.5 WotLK client that worked.

But it was the original/first WotLK version before the Battle.net newer-engine (Bfa?) "Classic" modern editions; not 64-bit, and no DX11/12 renderers. I used that client from the archive as-is and believe 3.3.5a.12340-enUS is the real client version.

With the talk of gxTextureCacheSize i assume you are referring to this? https://wowwiki-archive.fandom.com/wiki/CVar_gxTextureCacheSize

Yeah! This older link implies it was added to improve something on Windows XP: https://web.archive.org/web/20100212202408/http://forums.worldofwarcraft.com/thread.html?topicId=21723843232&sid=1

Note that we do not support old dxvk versions. Do you know when the main menu corruptions start appearing? Is it only on master or does 2.4.1 also have them? I would like to get this looked at first so the newest dxvk can be tested with. I am not reproducing the corruptions in Turtle WoW with my RTX 4080 at least.

I didn't get the exact commit, but the last master about a week ago had the same corruption/freeze, but 2.4.1 worked fine (no corruption/got in-game; still had the texture size oddity but was a little different behavior; didn't take notes but might come back to this later)

@mirh
Copy link

mirh commented Nov 7, 2024

The apitrace would still be appreciated. Aside of that, if the last stable release is fine you could try to check which PR broke it
https://github.com/doitsujin/dxvk/actions/workflows/artifacts.yml?page=27&query=created%3A%3E2024-09-24

@K0bin
Copy link
Collaborator

K0bin commented Nov 7, 2024

I didn't try anything else with Ex, but DXVK 2.4.1 even showed D3D9 with d3d9ex on WoW

If DXVK shows D3D9 instead of D3D9Ex, the game is not using D3D9Ex.

Yeah! This older link implies it was added to improve something on Windows XP

That's strange considering that D3D9Ex was only added with Windows Vista so D3D9 games can make use of the compositor improvements of that OS. Windows XP does not support it.

But like others have said, I'd still appreciate an apitrace and a bisect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

6 participants