V-Sync toggle

More
5 years 8 months ago - 5 years 8 months ago #1 by lowenz
Public Beta was created by lowenz
Thanks man. And what about a V-Sync "clear" toggle (ON/OFF) in future releases?
Last edit: 5 years 8 months ago by lowenz.

Please Log in or Create an account to join the conversation.

More
5 years 8 months ago - 5 years 8 months ago #2 by crosire
Replied by crosire on topic Public Beta

lowenz wrote: And what about a V-Sync "clear" toggle (ON/OFF) in future releases?

What do you mean? =)
Last edit: 5 years 8 months ago by crosire.

Please Log in or Create an account to join the conversation.

More
5 years 8 months ago #3 by lowenz
Replied by lowenz on topic Public Beta
The possibility the enable/disable V-Sync directly through ReShade!

Please Log in or Create an account to join the conversation.

More
5 years 8 months ago - 5 years 7 months ago #4 by crosire
Replied by crosire on topic Public Beta

lowenz wrote: The possibility the enable/disable V-Sync directly through ReShade!

Out of curiosity, why would you need that? =) At least the NVIDIA driver panel (and I think AMDs too) allow you to force V-Sync, so where's the benefit doing so through ReShade?
I could implement it for D3D10+ and OpenGL where this can be tweaked on the fly, but for D3D9 it has to be done before shaders are loaded, so no way to add a config option (as all ReShade configuration is also done through the shader). Doesn't mean it won't make it into ReShade in the future, but right now ...
Last edit: 5 years 7 months ago by crosire.
The following user(s) said Thank You: strelokgunslinger

Please Log in or Create an account to join the conversation.

More
5 years 8 months ago - 5 years 8 months ago #5 by lowenz
Replied by lowenz on topic Public Beta
AMD V-Sync forcing is really erratic (I must use DXOverrider), now you got the answer :p
Last edit: 5 years 8 months ago by lowenz.
The following user(s) said Thank You: Wicked Sick

Please Log in or Create an account to join the conversation.

More
5 years 8 months ago #6 by Wicked Sick
Replied by Wicked Sick on topic Public Beta
I clicked on "Thank you" by mistake haha...


I too use AMD but I have no issue by forcing it to be always on using the panel.

Please Log in or Create an account to join the conversation.

More
5 years 8 months ago - 5 years 8 months ago #7 by Tup3x
Replied by Tup3x on topic Public Beta

crosire wrote:

lowenz wrote: The possibility the enable/disable V-Sync directly through ReShade!

Out of curiosity, why would you need that? =) At least the NVIDIA driver panel (and I think AMDs too) allow you to force V-Sync, so where's the benefit doing so through ReShade?
I could implement it for D3D10+ and OpenGL where this can be tweaked on the fly, but for D3D9 it has to be done before shaders are loaded, so no way to add a config option (as all ReShade configuration is also done through the shader).

Driver v-sync doesn't work in borderless windowed games and triple buffering only works in OpenGL. D3DOverrider has compatibility problems with ReShade and it doesn't work with 64-bit apps. Having option for v-sync and triple buffering would help things a lot.

When I had R9 290, the v-sync options didn't seem to work anywhere. It's probably only for OpenGL apps.
Last edit: 5 years 8 months ago by Tup3x.

Please Log in or Create an account to join the conversation.

More
5 years 8 months ago - 5 years 8 months ago #8 by crosire
Replied by crosire on topic Public Beta
There's no benefit of forcing VSync in window mode, simply because it has zero effect. =)
It's no longer up to Direct3D or OpenGL to handle presentation there, it's up to Windows DWM (desktop window manager, starting with Windows Vista), which luckily has VSync built-in (and you can't disable it as far as I know). So VSync will always be on as soon as you run your game in a window and DWM is enabled (which is always the case in Windows 8+ and the case in Windows Vista/7 when Aero is active).
Last edit: 5 years 8 months ago by crosire.

Please Log in or Create an account to join the conversation.

More
5 years 8 months ago - 5 years 8 months ago #9 by Tup3x
Replied by Tup3x on topic Public Beta

crosire wrote: There's no benefit of forcing VSync in window mode, simply because it has zero effect. =)
It's no longer up to Direct3D or OpenGL to handle presentation there, it's up to Windows DWM (desktop window manager, starting with Windows Vista), which luckily has VSync built-in (and you can't disable it as far as I know). So VSync will always be on as soon as you run your game in a window and DWM is enabled (which is always the case in Windows 8+ and the case in Windows Vista/7 when Aero is active).

In windows 8.1 running in borderless mode sure does remove tearing BUT... it doesn't limit the fps which means nasty stuttering. Limiting the fps on the other hand to match refresh rate doesn't do that good job either - it will still stutter. I've tried searching what DWM actually does but I can't seem to find anything. I'd call it virtual v-sync that removes tearing but can make 75 fps feel like 30 fps because it seems to cause serious frame skipping issues. V-sync is totally something that application can do in windowed mode but triple buffering will be forces.

I have that annoying stuttering in every game in borderless fullscreen mode if I limit the fps and not use v-sync. It's extremely easy to notice in Tomb Raider for example and panning the camera with pad. With in game v-sync it's smooth (double buffered behaves as triple buffered in borderless fullscreen mode - although the game does have option for triple buffering too which worked oddly in exclusive full screen mode if my memory serves me well).

Though, if the game supports only double buffered vsync it will use triple buffering if you run it in borderless fullscreen (and the v-sync will work properly & limit the fps without double buffering annoyances).

However, those DirectX applications that do not support borderless fullscreen option and do not support triple buffering are a real pain in the arse.
Last edit: 5 years 8 months ago by Tup3x.

Please Log in or Create an account to join the conversation.

More
4 years 10 months ago - 4 years 10 months ago #10 by brucethemoose
Replied by brucethemoose on topic V-Sync toggle
Necro!




Anyway, I've found a reason to implement a VSync toggle... dynamic Vsync.

www.geforce.com/hardware/technology/adaptive-vsync

Shaders can read the framerate/frametimes now, right? Basically, you should turn off VSync when the refresh rate is below that of the monitor (to avoid the latency/smoothness issues), and turn it back on when above the refresh rate (to prevent tearing).

Yes, Nvidia implements this natively. But now that RadeonPro is dead, AMD and Intel users without a freesync monitor can't get this.

The actual shader wouldn't be so simple (you'd probably need a separate minimum/maximum framerate setting and an adaptive delay function to avoid rapid VSync toggling), but still, a basic VSync toggle would be quite useful.
Last edit: 4 years 10 months ago by brucethemoose.

Please Log in or Create an account to join the conversation.

More
4 years 9 months ago - 4 years 9 months ago #11 by brucethemoose
Replied by brucethemoose on topic VSync
Beuller?


Dynamic Vsync would be a pretty big deal. This could help every AMD/Intel graphics user without a special monitor, and increase ReShade's popularity :)


EDIT: Should I put the suggestion on Github instead?
Last edit: 4 years 9 months ago by brucethemoose.

Please Log in or Create an account to join the conversation.

More
4 years 9 months ago #12 by crosire
Replied by crosire on topic VSync

brucethemoose wrote: EDIT: Should I put the suggestion on Github instead?

GitHub is for the shaders only, the ReShade injector is handled separatly.
I'm simply not motivated enough right now to implement new major features, which may or may not have any use. Not saying they won't make it into the project, but at least not in the moment.

Please Log in or Create an account to join the conversation.

More
4 years 9 months ago #13 by brucethemoose
Replied by brucethemoose on topic VSync

crosire wrote:

brucethemoose wrote: EDIT: Should I put the suggestion on Github instead?

GitHub is for the shaders only, the ReShade injector is handled separatly.
I'm simply not motivated enough right now to implement new major features, which may or may not have any use. Not saying they won't make it into the project, but at least not in the moment.


Ah. Looking at the Github, I see that now.

Does that demotivation have anything to do with the ReShade credit issues? I'm sorry about that whole mess, but I'm starting to work Reddit a some forums to spread awareness... I just hope things return to normal some day, so we can eventually get VSync toggling support :)

Please Log in or Create an account to join the conversation.

More
3 years 10 months ago - 3 years 10 months ago #14 by brucethemoose
Replied by brucethemoose on topic VSync
Shameless bump.


A VSync toggle would be awesome, even if it only works in DX10+. Not only to force VSync when we otherwise can't, but to turn it on/off dynamically via a shader using ReShade's framerate counter.
Last edit: 3 years 10 months ago by brucethemoose.

Please Log in or Create an account to join the conversation.