-
Notifications
You must be signed in to change notification settings - Fork 898
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
World of Warcraft - DXVK_STATE_CACHE #665
Comments
Everything seems to work ok for me, so far atleast. System information
Eager to test thou does these patches fix problem that obviously pulls the whole pipe 100% usage and starts to cause stuttering even fps is ok. Happens when effects like blood magic(easy to test Uldir raid normal/HC first boss) fog etc happens and it gets worse when there are more ppl in screen. You can help the pipe littlle by changing camera angle to point at location where there is no effects present. *fixed typo 👍 |
@Dehir How did you get v0.82? That hasn't been invented yet. |
@ryao Apparently typo :D |
Can you test if ddfa7e4 fixes the problem? |
I had the same issue in some games and ddfa7e4 fixes all of them for me. |
@doitsujin Was able to crash it a couple of times when changing wine version (between 3.16 and some git release..) Perhaps something to do when DXVK invalidates cached items? Staying with the same rev i could start/stop without issues tho. I did the following experiment: So, it MAY seem as whenever nVidia driver recreates its cached textures for some reason (wine version/driver/dxvk...), the DXVK cache crashes on some validation thing? Dunno.. @andy-d1969 Do you use a nVidia card? And could you possibly try to recreate my experiment above? |
DXVK doesn't invalidate the cache when you update wine. Do I understand correctly that those crashes still only happen with the state cache enabled? Are you sure it's not some issue caused by wine updating its prefix? 8bcd47d implements more conservative locking, please let me know if that changes anything. |
It is when nVidia creates IT'S cache that seem to be the problem. nVidia creates new cache binaries whenever something changes - like wine/dxvk binaries/drivers and whatever. Ex. on a "live" folder structure for me: Whenever something happens those two .toc and .bin files gets a new "HashID" (Or the folder structure changes). Probably some nifty logic behind when what changes, but i know it changes upon wine/dxvk/kernel/driver or similar changes... thus nVidia cretes a NEW cache file. When THAT happens, and the .dxvk-cache file is NOT cleared out, it seems as if something goes wrong. I get 8 threads going 100%, screen freezes and GPU goes to 0%. Sometimes just at a black screen, sometimes with some graphics "half-way ingame" so to speak. Clearly when DXVK tries to send its "data" to the nVidia driver, and the nVidia driver tries to create its cache from this, it goes tits up :) PS. Just to clear up any misunderstandings - I do NOT have to switch any versions of anything to recreate the issue - its enough to delete the nVidia "GLCache" folder to make this happen.... It was just that changing driver/wine/whatever creates these files automagically in a new folder/filename. |
Hm, that's annoying. Does that still happen with the latest commit? |
I did a double check from what I wrote here #647 (comment), but at least with Arkham Knight I cannot reproduce the behavior you describe. I started Steam with a new newly created directory for the Nvidia cache When starting Arkham Knight with an existing BatmanAK.dxvk-cache file of ~12MB the DXVK log says:
Running the game and built-in benchmark confirms my numbers from the link above. The Nvidia cache directory now contains the GLCache folder with ~7MB of different files. I have a GTX 1080 with driver version 396.54 (short term branch, not the Vulkan development branch) and I run DXVK 0.80 release version (not master). |
@doitsujin Yeah, latest 8bcd47d @jp7677 A lot less cache entries and size on the file i use tho Might very well be a World of Warcraft issue tho? (But havent tested this with non-dev driver) |
Can you try to trigger a hang with In the worst case I'll have to disable the state cache again, and I really don't want to. |
@doitsujin WoW has a config setting called: Sometimes gaming with wine, games can benefit from not using "all", or if you run multiple things and so on and so forth. However, to make the story shorter, mine was set to I removed the setting, thus allowing "all available" and for my 8700K that is all 12 (6cores/6ht).. And i cant seem to reproduce this problem anymore. Conclusion: Crappy threading in World of Warcraft.exe, or some sort of strangeness happening with the way nVidia recreates shadercache? A pure bug with processors > 8 cores in WoW? Dunno... Anyway, not sure WHY that cache option would make 8 cores go crazy, but removing the setting (the default value), it seems to work for now :) |
|
@SveSop Can you try it? |
@Leopard1907 The logfiles attached to when i opened the bug is from export @mati865 Possibly. World of Warcraft is not really known for its awesome multithreading either.. But nevertheless, the setting was there from i guess my earlier experimentations :) |
Closing this, as this might not be a DXVK issue, but maybe a WoW-threading vs nVidia issue perhaps? |
I have a problem enabling the new DXVK_STATE_CACHE when running World of Warcraft.
First time WoW is run and the cache file is not there, it gets created and i guess that works as intended.
The next time i start the game the screen is just black and i cant enter the game. Sometimes i actually gets as far as the character select screen before locking up.
Disabling cache by setting
DXVK_STATE_CACHE=0
the game works and removing the Wow.dxvk-cache file also will make the game run.Probably not of much help with the logfiles, as it only shows pipeline compiling stopping and no error messages.
Software information
World of Warcraft - Battle for Azeroth
System information
Log files
d3d11.log:
Wow_d3d11.log
Wow_d3d11-State0.log
dxgi.log:
Wow_dxgi.log
Wow_dxgi-State0.log
The text was updated successfully, but these errors were encountered: