-
Notifications
You must be signed in to change notification settings - Fork 6
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
High VRAM usage, especially in multiplayer #23
Comments
Notes for those screenshots:
~/.config/MangoHud/MangoHud.conf
|
In the Matrix chat someone found this article which might be relevant for this issue: https://www.gamingonlinux.com/2023/03/amd-radv-driver-will-soon-stop-eating-ram-with-some-games/ We'll need to check if it might be related. Is DXVK using this "new Graphics Pipeline Library [...] VK_EXT_graphics_pipeline_library"? And does the according fix for Mesa linked in this article help and reduce VRAM usage for us? Edit: On the other hand, the issue in those articles seems to be about system RAM, not GPU VRAM. So maybe/likely not related. |
Maybe #27 is related to this? Although I dont have an ATI card, i am experiencing the same issues you described. |
@enjoycowboy thanks for the feedback! Yes, I'm usually using multi-threading. I'll check in the next days if multiplayer performance is better for me without multi-threading. Meanwhile, I had been playing a bit with flamegraphs and got this result: (The SVG should be interactive. On Firefox I need to download it first and then open it via "file:///home/linus/Downloads/<file.svg> to have it interactive though.) In this picture the ntdll.so->clock_gettime() call seems to take quite a lot of time. I'm wondering if that could have something to do with the issue. Might be interesting to compare flamegraphs between single-threaded vs. multi-threaded. You can create them as follows:
And maybe might be interesting to use "-C" instead of "-a" to monitor individual cores, to better see if a core gets saturated (might become a bit tricky if the kernel scheduler decides to move threads to different cores, so best try to keep the load relatively similar/constant.). And secondly, unrelated to multiplayer, had started to investagate GTT<->VRAM swapping behaviour with the ATI/AMD open source driver: GpuZelenograd/memtest_vulkan#10 Also an update of Mesa from v22 to v23 seems to have better performance when around 100% VRAM usage. Probably due to the eGPU related patch mentioned in the reply to my question on the linked amd-gfx mailing list. But at highly overallocated VRAM usage the performance still isn't good. |
@enjoycowboy I updated DCS to the latest version (2.8.6.41363) and did the single-threaded vs. multi-threaded test now and also created flamegraphs. But the result seem very similar and I see no performance difference between the two. I still seem to be GPU bottlenecked: Multithreaded: Singlethreaded: So maybe a different issue than yours? But still could be interesting to investigate some FlameGraphs for your case, I think. To check what might be bottlenecking in the multiplayer + multithreaded for you. |
In the following cases the VRAM usage is high and/or overshoots for me and makes the game slower (@ ~95%+ VRAM) or even very unresponsive (@ ~190% VRAM).
The cases are either: A) high-fidelity plane models (like the F/A-18C) + detailed map (like Syria) and the high graphics presets. Or a multiplayer match (even with a low-fidelity plane (like the SU25T) + low detail map (like Caucasus) ).
Tested with an AMD Radeon RX 6650 XT, 8GB VRAM via a Thunderbolt 3 eGPU enclosure. (Tests with the internal AMD/ATI Radeon 680M iGPU, without the eGPU, still ToDo)
Previous, maybe related mentions:
Workarounds:
For singleplayer either reducing texture quality or closing the web browser (the latter frees around 1GB of VRAM) helps a bit. For multiplayer, neither of this is sufficient unfortunately.
Setting "dxgi.maxDeviceMemory = 4096" or "d3d9.maxAvailableMemory = 4096" + "d3d9.memoryTrackTest = True" in dxvk.conf makes no difference. (setting "dxgi.maxFrameRate = 23" works though, used to check if dxvk.conf is used)
Hardware description:
System information:
The text was updated successfully, but these errors were encountered: