EDMCOverlay
EDMCOverlay copied to clipboard
ED gets locked to wrong screen's refresh rate
I have a peculiar problem that I've narrowed down to be related to EDMCOverlay.
My configuration is as follows:
- the monitor set as pPrimary in Windows is my second screen (physically to the right of me on the desk) and it has a 60Hz refresh rate, this monitor has the Windows task bar on it too, this monitor does not support G-SYNC
- the monitor I use as my main screen, middle of the desk, and the one games run on has a 144Hz refresh rate, this monitor supports G-SYNC
- I have an 3070Ti with recent drivers, both screens run off this card
- I run Windows 10 Pro, build 21H2
- in the nVidia control panel, G-SYNC is enabled for windowed and fullscreen mode (only applies to 144Hz monitor)
- in ED my display settings are Borderless, set to use 144Hz refresh rate and Frame Rate Limit is Off (though I have Fast vsync enabled for the game in the nVidia control panel, but tests show this makes no difference if it's off)
How to produce the problem:
- if I start the game it initially runs with uncapped frames on my main 144Hz screen
- if I click over to the desktop or any running program on my right hand screen (the one set in Windows as primary, but not running the game) it still shows uncapped frames
- however, when I click back on the ED game client the FPS drops and locks to 60Hz and after this it's stays at that no matter where I click
- If I close EDMC (which then also closes EDMCOverlay) the game will revert to running uncapped frames again, without logging out or restarting the game
- If EDMC is started up again and it starts EDMCOverlay again, the same problem returns
Things I've learned while troubleshooting the problem:
- if I set the 144Hz screen to Primary in Windows this does not happen, but this is not a permanent workable option for me
- it does not matter which screen the Windows taskbar is located on or which screen the EDMC window is started/located on
- if I start ED, then set the 144Hz monitor to be Primary in Windows, then start EDMC (which starts EDMCOverlay), then change the Primary back to be the 60Hz monitor, it all works as expected (this tells me it's not an ED problem)
- interestingly, if I leave EDMC running, I can close the game after the above mentioned workaround, and open it again without having to perform the workaround again, even though I can see EDMCOverlay terminates after the game client is no longer running and starts when the game client is run again, only when I close EDMC do I have to perform the workaround again
- more interestingly, I can disconnect the 144Hz monitor (which I do daily because it is used for work), run ED (on the 60Hz monitor while the 144Hz is disconnected), close ED, reconnect the 144Hz monitor, start ED, configure ED to run on the 144Hz monitor again and it still keeps working as long I don't close EDMC
In summary: as long as the 144Hz monitor is set to be the Primary in Windows when EDMC starts, EDMCOverlay works without problems.
I wasn't sure if I should be posting the issue report here or for EDMC, but I decided that since it only manifests when EDMCOverlay is involved that I should report it here. I do not have enough programming knowledge to troubleshoot this further myself. I am happy to provide more information or do other testing you might need.
I want to make it clear that I am not saying that this is definitely a problem with EDMCOverlay, just that I've found that EDMCOverlay is involved. This might well be a "feature" of Windows, the way nVidia does things/their drivers or even something about EDMC itself.