V-Sync toggle
- lowenz
- Topic Author
Please Log in or Create an account to join the conversation.
- crosire
What do you mean?lowenz wrote: And what about a V-Sync "clear" toggle (ON/OFF) in future releases?
Please Log in or Create an account to join the conversation.
- lowenz
- Topic Author
Please Log in or Create an account to join the conversation.
- crosire
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?lowenz wrote: The possibility the enable/disable V-Sync directly 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 ...
Please Log in or Create an account to join the conversation.
- lowenz
- Topic Author
Please Log in or Create an account to join the conversation.
- Wicked Sick
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.
- Tup3x
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.crosire wrote:
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?lowenz wrote: The possibility the enable/disable V-Sync directly 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).
When I had R9 290, the v-sync options didn't seem to work anywhere. It's probably only for OpenGL apps.
Please Log in or Create an account to join the conversation.
- crosire
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).
Please Log in or Create an account to join the conversation.
- Tup3x
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.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).
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.
Please Log in or Create an account to join the conversation.
- brucethemoose
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.
Please Log in or Create an account to join the conversation.
- brucethemoose
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?
Please Log in or Create an account to join the conversation.
- crosire
GitHub is for the shaders only, the ReShade injector is handled separatly.brucethemoose wrote: EDIT: Should I put the suggestion on Github instead?
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.
- brucethemoose
crosire wrote:
GitHub is for the shaders only, the ReShade injector is handled separatly.brucethemoose wrote: EDIT: Should I put the suggestion on Github instead?
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.
- brucethemoose
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.
Please Log in or Create an account to join the conversation.