VOGONS


Vsync

Topic actions

First post, by bestemor

User metadata
Rank Oldbie
Rank
Oldbie

So, being a total newb on this topic, I was wondering if someone could explain about how the limitations vs tearing work.

- Or rather more specific, what exactly does that 60hz line in this diagram actually mean ?
https://international.download.nvidia.com/web … VSync-2-650.png

Vsync.JPG
Filename
Vsync.JPG
File size
48.09 KiB
Views
641 views
File license
Public domain

I assume it is the max limit ("capacity"?) for the current monitor, e.g. 144hz (or 165hz etc) vs the 60hz in the diagram ? And not something else ?
https://geekflare.com/vsync-in-gaming/

VSync corrects this screen tearing by limiting the frame rate per the graphic card refresh rate. This reduces the number of frames per second, adjusting it according to the monitor’s capacity.

Say I turn the Vsync setting to 'on' (as adaptive does not work with Win7), will I be golden as long as the frame rates keep between 60-144 ?
(and that there will be stuttering if they go lower)

Sorry for the stupid questions, but I'm having a hard time finding available monitors with Gsync module installed.
(which supposedly would work wonders even with Windows7 - for reasons...)

Reply 1 of 6, by clb

User metadata
Rank Member
Rank
Member

The issue that Adaptive V-Sync tries to solve is that traditionally, if one enables V-Sync and the CPU+GPU combo cannot sustain the display refresh rate, there will be a performance slowdown and stuttering that stems from "missing the bus" effect.

On a 60Hz display, there is a "frame presentation bus" leaving every 16.666... msecs, which is the right time to display a new frame. If the GPU has not produced a new frame to present by then, it needs to forego that time, and wait for the next full 16.666... msecs period for the next opportune moment to swap (next bus to arrive), and this waiting will result in wasted/idled time on GPU and/or CPU both, and possibly result in stuttering.

The idea with Adaptive V-Sync then is that only whenever a game does achieve that "perfect" framerate that the 60hz can be saturated, V-Sync is kept enabled to get the maximal picture quality, and avoid wasting CPU+GPU thermal&power performance.

But immediately when the system cannot keep up with the perfect native display Hz framerate, then v-sync is disabled to avoid wasting time waiting for the next frame presentation time. This does produce tearing, but the positive side is that it will also result in a smoother refresh rate. For example, if game is taking 20 msecs to render a frame (50fps), then it is smoother to disable v-sync instead of pessimizing to present every 33.333.. msecs (30fps). Depending on the values in question, there is also this kind of 2:1:2:1:... type of quantization that can occur, i.e. one might miss every third frame presentation "bus", but always catch the two next ones after a missed one; this effect causes annoying microstuttering.

Reply 2 of 6, by bestemor

User metadata
Rank Oldbie
Rank
Oldbie

Regarding 'native display Hz framerate', does that translate to 'maximum framerate' ?
Or, how does one determine that framrate ?

For example, what is the 'native framerate' on this one:
https://www.rtings.com/monitor/reviews/samsun … ssey-g5-s27ag50
Judging by how the site describes it, it is actually 165hz, although I wonder what it would be via HDMI, which it then can only provide 144hz for/via.

nativerefreshrate.JPG
Filename
nativerefreshrate.JPG
File size
25.2 KiB
Views
596 views
File license
Public domain

The main point here is, due to OS limitations I cannot use adaptive sync, and have to settle for basic manual Vsync on/off instead.

Hence I was wondering how that would work out, before I waste wads of cash on the 'wrong' monitor....
Me currently thinking that as long as the game never dipped under 60hz (= minimum for a monitor I assume?), having Vsync constantly ON would basically be no different from what you'd get with adaptive sync.
As when the game wants to blow out 250 frames, Vsync makes that = no problem. And assuming all games are above 60 framrates, there should be no stuttering ?

Kinda like this:

VsyncAlwaysOnAt165hz.JPG
Filename
VsyncAlwaysOnAt165hz.JPG
File size
62 KiB
Views
596 views
File license
Public domain

Unless of course, if I have read it totally wrong, and BOTH minimum AND max framrates from the game has to EQUAL the native resfreshrate (i.e. 165 in my example above) ? 🥺
Which would mean that 60 frames from the game on a 165hz monitor WOULD in fact produce stuttering ? As in that the infamous frame presentation bus now would be leaving every 6 milliseconds instead of 16.66 ?
(as I can't find a way to set the Vsync to a fixed number, if that even is possible or desired?, so...)

My knowledgebase is rather limited as you can gather from the above, with me so far having only played older games on old/retro equipment.
But am now looking to buy a 'modern' monitor. Hopefully. 😅

Reply 3 of 6, by agent_x007

User metadata
Rank Oldbie
Rank
Oldbie

You can limit max. FPS by third party programs.
165Hz monitor will display 60FPS created by GPU just fine. GPU will simply "double" the previous full frame if frame is not ready, and display next one when it arrives.
No stutter/tearing will be visible.
If you see problems, you can always try enabling triple buffering in GPU driver.

Reply 4 of 6, by bestemor

User metadata
Rank Oldbie
Rank
Oldbie

I was wondering why I could not find the 'max framrate' setting I've just seen in some youtube videos, on my WinXP machine (352 driver).
And... apparantly that is a much 'new'(er) setting (starting in 441.87 driver):
https://www.engadget.com/2020-01-06-nvidia-ge … p-ces-2020.html
https://www.geeks3d.com/20200106/quick-test-n … e-rate-feature/

So, judging by the previous posting, when Vsync is 'on', and no adaptive option possible - with a fast monitor it would most often still be ok-ish vs stuttering (and tearing) ? So maybe I don't need to worry too much about missing out on Gsync ? Hmm...

Reply 5 of 6, by agent_x007

User metadata
Rank Oldbie
Rank
Oldbie

Why "3-rd party app" = trying to use NV driver ?
Just use RTSS from MSI Afterburner to limit max. framerate (for example).
Also, locking to highest refresh of monitor with Vsync enabled when FPS is much higher than it basicly describes how Fast Sync works.

Reply 6 of 6, by The Serpent Rider

User metadata
Rank l33t++
Rank
l33t++

You need to enable RivaTuner Scanline Sync. Simple FPS limiter will only create predictable screen tearing.

I must be some kind of standard: the anonymous gangbanger of the 21st century.