flightlessmango / MangoHud

A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb
MIT License
6.5k stars 287 forks source link

MangoHud rendering in VR HMD #485

Open Corben78 opened 3 years ago

Corben78 commented 3 years ago

MangoHud seems to render the overlay in the VR view, instead of the desktop window. If MangoHud is used to limit FPS to vsync (e.g. to 60, and ingame disabling vsync) this also affects VR rendering (making it incredible stuttery). I only accidentally realized that this was caused by MangoHud, as the overlay is barely visible in the HMD in the top left corner (I have frametimes enabled, making the HUD big enough to show a corner in the VR view).

I played Hellblade Senua's Sacrifice with Proton in VR, realizing the stutter issue with MangoHud (due to having vsync managed by MangoHud).

When playing Elite: Dangerous in VR with Proton, it even crashes Steam VR (despite vsync not handled by MangoHud).

As the DXVK overlay is only rendered on the desktop window of VR games, those issues might be related to MangoHud rendering in the HMD?

Corben78 commented 3 years ago

A workaround for this is to use a launch parameter for Steam VR:

DISABLE_MANGOHUD=1 %command%

With this it's not used in the Steam VR environment (chaperone, Steam VR Home) and is not rendered anymore in the HMD, but can still be used in games and their desktop windows. Though it still seems to affect performance, even though I had vsync disabled. Not as bad as with heaving vsync enabled, but still there are noticeable hiccups, which do not occur, when mangohud is completely disabled while running Steam VR and games in VR. So also adding the disable launch option for VR games helps.