uberhalit / EldenRingFpsUnlockAndMore

A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring
MIT License
1.21k stars 111 forks source link

GSYNC doesn't work in Fullscreen #15

Closed Yossarian82 closed 2 years ago

Yossarian82 commented 2 years ago

As per title, GSYNC works correctly in Borderless Windowed, but with Fullscreen it does not work

BTW thanks so much for your hard work!

Qunka724 commented 2 years ago

I'm also seeing this behavior. I wouldn't mind playing in Borderless Windowed if not for the fact that you can't enable HDR unless you're in fullscreen mode.

DubbleClick commented 2 years ago

I'm not sure what you mean, gsync is not related to this launcher. You're aware that you have to enable vsync for gsync to work, right?

Qunka724 commented 2 years ago

I can get gsync working on borderless windowed with the fps successfully unlocked no problem, but going to fullscreen will cap the fps back down to 60. Essentially the behavior I'm seeing is:

doktorsleepelss commented 2 years ago

I can get gsync working on borderless windowed with the fps successfully unlocked no problem, but going to fullscreen will cap the fps back down to 60. Essentially the behavior I'm seeing is:

  • Vsync off, fullscreen: Fps unlocks and HDR works but with unplayable screen tearing.
  • Vsync on, borderless windowed: Fps unlocks and gsync works but HDR doesn't work.
  • Vsync on, fullscreen: FPS stays capped at 60, but gsync and HDR work.

Yup, these scenarios describes my experience exactly. I'm on a windows 11 insider build (220210-1445) and I'm using a oh-not-so-legit copy of Elden Ring. I have a ryzen 5 3600x and an RTX 2070 super. Weirdly, I also get a 10 fps drop with borderless, but I think this is unrelated to the mod.

DubbleClick commented 2 years ago

Ah I understand, the fps unlock isn't working for fullscreen when vsync/gsync is enabled.

uberhalit commented 2 years ago

This is weird, the pre-release game version 1.0 was working correctly but the current day-1 patch version 1.2 seems to take over the monitor entirely and force VSYNC in fullscreen even when the driver itself disabled VSYNC globally. I will have to look into this, for now use borderless window mode.

Loban79 commented 2 years ago

This is the exact behavior I'm seeing as well on a gsync and HDR capable 165Hz monitor. It seems Microsoft has added HDR support to windowed mode in their latest Win11 dev channel release if anything wants to try it. https://www.pcworld.com/article/615360/new-windows-11-build-reveals-new-pc-gaming-hdr-improvements.html

tetsugoro commented 2 years ago

You may solve your issue by forcing fullscreen mode to your maximum refresh rate. Unfortunately the game forces 60hz in Fullscreen Exclusive so you have to employ some sort of workaround. In DX12 games you can normally use SpecialK to do this, but this is not compatible with Easy Anti-cheat. VRR also works better in general when the application is set to your maximum refresh rate due to LFC.

What does work is making a custom resolution of 1920x1079 (-1 vertical pixel of your resolution!) at only your highest refresh rate. The game will fallback onto the highest refresh rate if a 60hz mode is not found. Example: https://i.imgur.com/OiItIdK.png

So use the resolution trick using GPU control panel custom resolution or Custom Resolution Utility. Alternatively, use SpecialK if not using EAC.

uberhalit commented 2 years ago

What does work is making a custom resolution of 1920x1079 (-1 vertical pixel of your resolution!) at only your highest refresh rate. The game will fallback onto the highest refresh rate if a 60hz mode is not found. Example: https://i.imgur.com/OiItIdK.png

@tetsugoro that is a great idea, I haven't thought about that yet! Thanks for letting me know, although I'd rather remove all other entries of the native resolution so only the highest refresh rate will be left and re-add them at exit. Do you have any example code?

tetsugoro commented 2 years ago

Do you have any example code?

Oh, no. This is all on the user side outside of the game or your mod. Just a workaround suggestion for users intending to use fullscreen exclusive above 60hz for any reason. VRR does work in borderless DX12 even when set to Fullscreen apps only in drivers. So I guess this is mostly useful for HDR+VRR if HDR only works in FS Exclusive mode since you want your monitor at native refresh rate when using VRR.

tofu-dreg commented 2 years ago

You may solve your issue by forcing fullscreen mode to your maximum refresh rate. Unfortunately the game forces 60hz in Fullscreen Exclusive so you have to employ some sort of workaround. In DX12 games you can normally use SpecialK to do this, but this is not compatible with Easy Anti-cheat. VRR also works better in general when the application is set to your maximum refresh rate due to LFC.

What does work is making a custom resolution of 1920x1079 (-1 vertical pixel of your resolution!) at only your highest refresh rate. The game will fallback onto the highest refresh rate if a 60hz mode is not found. Example: https://i.imgur.com/OiItIdK.png

So use the resolution trick using GPU control panel custom resolution or Custom Resolution Utility. Alternatively, use SpecialK if not using EAC.

Unfortunate that this janky workaround is required to get the game to behave properly in fullscreen mode. The borderless windowed mode has lower input lag possibly because of this incorrect fullscreen behaviour (a silver lining of DX12 usage in ER: DXGI flip being included as an option so you can avoid From's bogus fullscreen mode that switches monitor to 60Hz) -- even Dark Souls 3 suffered from this and sadly did not have a borderless windowed mode like ER and, I believe, Sekiro does? I had to enable NULL for DS3 which capped the fps at 59, in order to get the input lag under control. Only Fromsoft games seem to behave like this.

@uberhalit Would using this mod merely to bypass in-game vsync and cap at 60fps also risk being banned from online?

DubbleClick commented 2 years ago

Would using this mod merely to bypass in-game vsync and cap at 60fps also risk being banned from online?

Yes. The game code is altered at runtime, always leaving you at a risk of a ban. Play offline to be safe, or wait for an officially acknowledged mod to remove the cap (unlikely to happen, sadly). There's about a zero percent chance FromSoftware removes the caps themselves.

uberhalit commented 2 years ago

@tofu-dreg See #17

uberhalit commented 2 years ago

Version 0.0.0.5 now removes the Hz lock in fullscreen @tofu-dreg @tetsugoro