What are Chunks in the debug Hud? [Metal Gear Solid V: The Phantom Pain]
Please, could someone please explain to my the translation from the dx equivalent to chunks as reported in dxvk.
I am a modder for the Game Metal Gear Solid V: The Phantom Pain. We have an issue with the game that due to a certain number if texture files, the game will simply freeze and stutter in certain areas. I cannot visualizs this in anything other dxvk for some reason.
The only concrete conclusions I can come to right now is that the more chunks there are, the less broken the game is. I do not know if this is someting the game sets, dxvk sets, or a mix of the two but I feel I am going insane visuallizing this without knowing how to solve it.
I would Greatly appreciate some help, I have lost a few months of my life to this :( I apologize if this is not the correct forum forcthis type of helo, couldnt find a discord or anything.
That part of the HUD visualizes internal memory allocation details. TL;DR Vulkan memory allocation is expensive, so we try to sub-allocate resources from pre-allocated memory chunks that are up to 256MB in size, and how those chunks are used is shown in the HUD.
I Believe something less than a TL:DR might be needed for me to actually get to understand how I can actually fix this issue for many of those who play the modded version of the game. I am going to link to some perfectly stable gameplay I had a few days ago to the current experience I am having now, maybe you can make more sense of what is going on here then myself?
Here is working gameplay I recorded days ago: https://drive.google.com/file/d/1vVCqPg1WMBHaS7PLg--_JNiB_82NR0P-/view?usp=drive_link
Here is broken gameplay I recorded five minutes ago: https://drive.google.com/file/d/1Qbw5JEGnvgL4J7z4UoN-EnfGCEvSlwSt/view?usp=sharing
I have tried to mess with the .exe, but without knowing what a mem type is or a chunk actually represents I have no real way of progressing further in actually fixing this bug.
dxvk .txt here are my DXVK conf settings, I thought by reporting more VRAM, similar to what the few working members of the group have, that I could get it to work but that did not work. I tried DXVK async yesterday, which brought no fix to my struggles either.
Would you kindly take a look at and tell me if you notice anything I do not? I know for certain that when I freeze, the game purges hundreds of mb of vram even though not necessary, and that I can see the game unfreezing via taskman showing it refilling.
I apologize if I sound like rambling, I am going nowhere with this, and I feel like I am the only one trying to fix this >_<
To me this looks like the game is deciding to render the same image over and over again (see frametime graph), so the game loop seems to get stuck independently of the rendering.
To me this looks like the game is deciding to render the same image over and over again (see frametime graph), so the game loop seems to get stuck independently of the rendering.
hey, I deeply appreciate your time to respond! so when you are frozen, the game is still running, you can pause whenever (maybe I didn't show that well) and the games systems are still firing, as audio effects or music will continue to play during thst time. I understand what you mean about looping, but if you look in the backgrounds cliffs of the broken clip you can actually see terrain lods are being updated and loaded in before the game resumes.
hope this can help you point in a more clear direction! thanks :)
dxgi.customDeviceId = 4318 dxgi.customVendorId = 12345 d3d11.disableDirectImageMapping = True d3d11.cachedDynamicResources = "a" dxvk.zeroMappedMemory = True d3d11.forceComputeUavBarriers = True d3d11.clampNegativeLodBias = True d3d11.relaxedGraphicsBarriers = True d3d11.relaxedBarriers = True dxgi.maxDeviceMemory = 65536 dxgi.maxSharedMemory = 65536 dxvk.maxMemoryBudget = 65536 dxvk.trackPipelineLifetime = True dxvk.enableMemoryDefrag = True d3d9.maxAvailableMemory = 65536
here are my DXVK conf settings
I'm not saying that any of those causes your issue but please don't use random config options when you have no idea what they do. Most of those vary from nonsensical to maybe-problematic when used with MGSV.
hello, I appreciate your response. I admit that 90% of those options are useless, except for dxgi.maxDeviceMemory. I was able to get attention of one of the Game's best researchers finally due to my pleas. He alongside another member of the modders discovered that the game does indeed have a fixed upper boundry of Vram Usuage(3.5GB) exactly in line with what DXVK and taskman manager were reporting. Furthermore, they found a bit of ghidra code which appears to suggest that the ammount of dynamically bound memory(the memory used when moving from chunk to chunk) is exactly 1/12 of upper boundry or 300mb.. the exact variation in memory I witness between freezes.
Hopefully this develops into a fix, redefining the upper bound on reported hardware bounds to the application, so I can abuse the limits with dxvk.
I hope this was not a missuse of your time, I apologizs.
Furthermore, they found a bit of ghidra code which appears to suggest that the ammount of dynamically bound memory(the memory used when moving from chunk to chunk) is exactly 1/12 of upper boundry or 300mb.. the exact variation in memory I witness between freezes.
Could you elaborate on that? There doesn't seem to be any change in the DXVK memory usage in your video.
Furthermore, they found a bit of ghidra code which appears to suggest that the ammount of dynamically bound memory(the memory used when moving from chunk to chunk) is exactly 1/12 of upper boundry or 300mb.. the exact variation in memory I witness between freezes.
Could you elaborate on that? There doesn't seem to be any change in the DXVK memory usage in your video.
This is something I have been tracking using procmon/taskmanager dxvk hud is not catching it.
this is that psuedo code I am referring too; https://claude.ai/share/53db4562-c2b3-49f3-89be-38126abf9525 hope this helps!