-
Notifications
You must be signed in to change notification settings - Fork 312
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
Limiting fps via MangoHud breaks the Hitman 3 engine (partially); corrupted and/or flashing textures, loading times #1112
Comments
Still present with 0.7.0. I wonder what makes the engine behave like that since the sheer 60 fps limit imposed by other means (like VSync) does not break it. |
I don't think this is a mangohud bug but rather a bug in the game engine |
Valid point and I was thinking the same but since I can limit the fps by other means without causing the problems shown, I was wondering what special mangohud sauce might cause the game engine to fail in this particular manner. I think I pointed out before that I don't view mangohud as faulty in any way but it remains interesting to find out why only mangohud leads to such symptoms. The symptoms themselves are interesting since one would assume all kinds of problems like a game not even starting with mangohud active or something. But this case is different and it wasn't obvious at first that the sheer presence and active fps limit were to blame. So maybe there's something to learn from how this "Glacier" engine handles, in case the problem comes up more often. Since it isn't used very often, it may remain an exception. PS: |
The same problem happen with libstrangle. |
Thanks for the info. Means the game engine, as expected, is to blame. Still remains a strange issue but, as it seems, none which can be solved by Mangohud but only worked around by using other means of limiting the fps. |
If it doesn't happen on windows, it's possible it's a wine bug |
Will try it out on Windows with the Nvidia frame limiter. |
It doesn't happen on Linux if one uses V-Sync to limit at say 60Hz. Wouldn't that rule out a Wine bug? |
Test System: Game Settings: Tested with MIAMI Level Windows Frame Limiter 60 FPS (NV Driver 551.52): Linux Frame Limiter 60 FPS (NV Driver 535.154.05): |
Nice testing. If you like to, add the VSync test to Linux by temporarily setting your screen to say 60Hz, enabling VSync in the game and therefore receiving 60fps without any issues on Linux. |
Yeah, this will work. But when you turn on VSync ingame, Gsync will not work correctly and you will get the little Vsync stutter. Other solution is setting Screen to 144Hz, Vsync ingame off and limiting the GPU Power with e.g.: sudo nvidia-smi -lgc 1000,1000 So is it a wine bug? Where can we open an issue? |
Good points on the VSync downsides. I must admit, I don't notice them much, if at all. Speaks for my insensitivity I guess. I'm not a gamer, just a casual user in that sense. Well, the whole VSync excursion served another purpose though: If the game does not show the symptoms described above (first post) when being limited by a "hard" VSync limit, can we really draw the conclusion of there being a Wine-related bug? We are at this state: (assuming a 60 fps limit for testing, on Linux) If we would assume a problem with Wine, it must be something that is triggered only in the first case described. Forgot to add: |
One more idea because we are both NVIDIA user. Maybe, this is an NVIDIA related problem? |
Well, if it is, it's not a general one as the game itself works and can even be limited in fps but, sure, if an AMD user would test the case, it would add valuable data to the pool. Forgot to add: |
Some guy in the www tested it with a AMD GPU. |
same issue with an rtx 3060 ti |
As the Issue is still open, here are my current findings:
Now I recently tried these two runners and used Mangohud to limit the fps again: GE-Proton9-21 and Proton9.0-4. In short: To solve the errors (long loading times, corrupted textures) Hitman3 produces when Mangohud limits the fps, simply use more updated runners like GE-Proton9-21 and Proton9.0-4. After that, loading times might still take a slight hit (as it seems that's how the game engine works) but the graphics remain intact while also allowing for all game engine features like DLSS and ray tracing to get enabled. Later on, Nvidia folks might also be able to use frame generation as the menu item at least is active, albeit maybe not stable at this time. |
Describe the bug
The fps limit being enforced via MangoHud (as opposed to let's say using VSync) causes the Hitman 3 game engine to partially break and produce corrupted textures and flashing texture updates and/or shader application. It also leads to huge loading times (minutes instead of a few seconds) on an otherwise very fast system (in terms of loading performance). Once you toggle the fps limit off or use other means of limiting them, the engine behaves normal again and also loads very fast.
I don't think that Mangohud causes this issue but simply exposes it. I'm looking for tips as to what the actual cause could be and why it developed only lately.
Also, this worked fine just a few days ago and seemed to have been introduced by updates on other graphic related modules. The game wasn't updated, MangoHud wasn't, Nvidia drivers maybe were but reverting back to older ones also showed this behaviour.
List relevant hardware/software information
23.04Edit: Now 23.100.6.9-1Edit: Now 0.7.0 - default config file only introducing the fps limit, no other settingsGPU: RTX 2080 Super - 535.86.05 driver, but also tried with later 535.104.05 oneTo Reproduce
Steps to reproduce the behaviour:
Expected behaviour
The fps limit via MangoHud should of course limit the fps, perhaps even affect loading times (since some game engines behave that way) but it should not cause the texture streaming to bug out of even cause texture corruption.
Screenshots
I will add screenshot of the corrupted camera cone as an example. Have to check how to upload a video showing the "flashing" textures in actions. Turns out, they are not flashing, the game simply loads the wrong ones at some point and quickly changes them, hence the "flashing" impression.
Camera cones: (same game session, just loading the level without and with fps limit via MH)
How they should look like (=no MH fps limit active): https://abload.de/img/unlimitedhfijc.png
How they look with active MH fps limit: https://abload.de/img/limitedaff4h.png
Pairs of shots from the intro video while fps were limited, so textures "flashed" in a particular way:
https://abload.de/img/lim1h7eyw.png
https://abload.de/img/lim26hcru.png
https://abload.de/img/lim3qni2e.png
https://abload.de/img/lim4oki5z.png
https://abload.de/img/lim51ni5m.png
https://abload.de/img/lim6idch9.png
Seems like wrong textures appear at some point, without transition, hence the flashing impression while the game is running. Expect these changed textures to appear suddenly and also get reverted back quickly, except when it comes to mentioned camera cones and some light sources, which stay corrupted (for lack of a better term).
Note:
Please don't mind the horrendous latency graph on those shots. My video software used to record the game caused this and, without it, the game runs extremely smooth and well above 60fps if desired. Since the game runs completely fine without the MH-based fps limit and also performs well in other games, the appearance of this being a hardware issue is just that, a first (but wrong) impression.
Additional context
To repeat, I don't think this is actually caused by MangoHud. A few days ago, it couldn't even be made to show since everything worked as expected. I just like to get some tips as to which component might have caused this behaviour to arise. I did try other Nvidia driver versions but those didn't change things.
Workaround
My current workaround is to limit via VSync, so nothing is lost in terms of gaming. I would just like to receive some tips as to why this issue came up lately and does not seem to affect other games so far. Not that I tried many, but I did of course check if my hardware is ok and also how MangoHud works in other titles, which it does.
Thanks for developing this vital tool for us Linux gamers. :-)
Other references:
Not quite the same, but this somehow felt related in terms of symptoms and potential origins: #1106
The text was updated successfully, but these errors were encountered: