Vsync not working as I thought it should.

futurefields

Diamond Member
Jun 2, 2012
6,470
32
91
I am using RadeonPro usually for it's Vsync rather than using in game settings. Yesterday i was testing Crysis 2 and Battlefield 3. RadeonPro has several Vsync settings, the ones I use mainly are "Always On" and "Dynamic V-sync"

"Always On" is supposed to be normal Vsync where, as I understand how Vsync works, as soon as the fps drops below 60, then Vsync should drop the fps to 30 in order to maintain Vsync.

However, I was not getting this behavior. When Crysis 2 and Battlefield 3 drop below 60 fps it was going to 59, 58, 55, 56 etc... instead of dropping to 30.

Note, I was not using Dynamic Vsync, but the regular "Always On" Vsync. Also, triple buffering is unchecked on RadeonPro.
 

futurefields

Diamond Member
Jun 2, 2012
6,470
32
91
Yeah I am under the impression that regular Vsync drops to 30 if it goes below 60 at all...

However now Im trying it on Saints Row The Third and im getting FPS in the 40's, 50's, all with Vsync on and no tearing.

Does anybody know what is going on here?
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
Yeah I am under the impression that regular Vsync drops to 30 if it goes below 60 at all...

However now Im trying it on Saints Row The Third and im getting FPS in the 40's, 50's, all with Vsync on and no tearing.

Does anybody know what is going on here?

I will assume Crysis 2 and Battlefield 3 have the triple buffering built into the engine. Only way that I know of to prevent 15/30hz drops with v-sync on is if Triple Buffering is on - some where.
 

Falafil

Member
Jun 5, 2013
51
0
0
This was asked before, I think all games have triple buffering already built into them, cause I've been using v-sync for years, and I always have triple buffering disabled, and I never experienced the 60-30-15... frame drops that plague v-sync.
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
This was asked before, I think all games have triple buffering already built into them, cause I've been using v-sync for years, and I always have triple buffering disabled, and I never experienced the 60-30-15... frame drops that plague v-sync.


Trust me when I say - not all game engines do. I remember Batman: AA/AC and all of the Call of Duties dropping from 60 to 30 FPS whenever I had a hiccup.

I started to use D3D : O because AMD Cata didn't have that as an option through their CCC.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
The trick is that FPS = Frames per second. That is its a count of the number of frames that were shown over a second. Its an average.

A monitor however can only display the screen at 60 hz, if no new image is produced then the pre existing image is given to the monitor again. Images can only be shown at 16ms discrete moments, which is the time period of a second that corresponds to 60hz, or 1000/60 = 16.6 .

So why do people say you can only have 60 and 30 fps? For a moment that is right. If the image isn't shown for 16ms it must be shown for 33ms. 33ms corresponds to 30 fps. So your monitor can for an individual frame only show you either 60fps or 30fps. But FPS is an average over a second, and with a single frame taking 33ms and all others taking 16ms it will read 59 fps. That is 58 frames at 16ms and one frame at 33ms.
 

futurefields

Diamond Member
Jun 2, 2012
6,470
32
91
I think he means the fps counter isn't updated instantaneously, so instead of showing every little 60-30 dip, it will show you the avg frames *per second* which would explain the dips to 59, 58 in terms of frames *per second*

the thing is im not even feeling the dips to 30, it feels smooth the whole time, which could be explained by the triple buffering running under the hood of the game engine itself, as explained by Falafil
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
The thing is with Triple Buffering, there is no delay, there is a third buffer waiting for a hiccup, thus you get the numerical FPS drop and not the delay.

The third buffer from my understanding is a rehash of another buffer which is why it introduces a little bit of input lag.

End of it all, I can show you games where if if you don't use a driver function or third party tool, your FPS will stutter, and you will most certainly feel it in terms of smoothness when using v-sync.

This is sort of why Adaptive V_sync was created for. No tearing above 60 FPS, no frame dropping below 60 FPS.
 

BrightCandle

Diamond Member
Mar 15, 2007
4,762
0
76
if its maxing out at 60 fps there is no way triple buffering involved. It feels smooth because many people don't notice the drop buts definitely there and many people can see it and find it highly annoying. The effect is worst at 45fps where alternate frames are 16ms and 33ms.
 
Last edited:

Falafil

Member
Jun 5, 2013
51
0
0
The trick is that FPS = Frames per second. That is its a count of the number of frames that were shown over a second. Its an average.

A monitor however can only display the screen at 60 hz, if no new image is produced then the pre existing image is given to the monitor again. Images can only be shown at 16ms discrete moments, which is the time period of a second that corresponds to 60hz, or 1000/60 = 16.6 .

So why do people say you can only have 60 and 30 fps? For a moment that is right. If the image isn't shown for 16ms it must be shown for 33ms. 33ms corresponds to 30 fps. So your monitor can for an individual frame only show you either 60fps or 30fps. But FPS is an average over a second, and with a single frame taking 33ms and all others taking 16ms it will read 59 fps. That is 58 frames at 16ms and one frame at 33ms.

You are wrong. When the framerate drops with only v-sync enabled, all frames are shown at 33ms intervals, i.e: frame 1: 33ms, frame 2: 33ms, frame 3: 33ms, etc. What you're describing (16ms for one frame, 33 ms for another) is actually what happens when triple buffering is enabled.
So the average framerate should in fact drop to 30 fps when v-sync alone is enabled.
This has happened to me once or twice in very few games, notably Mafia 2. I saw the framerate with Fraps only changing from 60 to 30 then back to 60.

Secondly, I can clearly feel the difference between 58 fps and 30 fps, one is so smooth I couldn't tell it apart from 60 fps, the other is extremely choppy, it's not some placebo effect, many others can verify that if they'd be so kind.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
I have gone through this tons of times. I have only seen a couple cases EVER where I went from 60 fps to 30 fps on the framreate counter even with no triple buffering. if some of you are claiming that framerates between 30 and 60 fps will not be shown on the counter then you are flat out wrong as that is the case 99% of the time.
 

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
You are wrong. When the framerate drops with only v-sync enabled, all frames are shown at 33ms intervals, i.e: frame 1: 33ms, frame 2: 33ms, frame 3: 33ms, etc. What you're describing (16ms for one frame, 33 ms for another) is actually what happens when triple buffering is enabled.
So the average framerate should in fact drop to 30 fps when v-sync alone is enabled.
This has happened to me once or twice in very few games, notably Mafia 2. I saw the framerate with Fraps only changing from 60 to 30 then back to 60.

Secondly, I can clearly feel the difference between 58 fps and 30 fps, one is so smooth I couldn't tell it apart from 60 fps, the other is extremely choppy, it's not some placebo effect, many others can verify that if they'd be so kind.

You two are talking about two different scenarios, but neither are completely wrong.

Without triple buffering, if your GPU cannot maintain 60 FPS, it drops to 30 FPS, as every time it renders a frame, it is just not fast enough to fit between 2 refreshes, and ends up waiting for a 2nd refresh. During that time, the GPU can do nothing.

With triple buffering, which most games appear to have built in these days, the GPU can start working on the next frame while waiting to display the current frame. This allows the GPU to get a head start on the next frame, and often results in the GPU being ready to display some frames in time to fit between consecutive refreshes. This results in frame times like 16ms, 33ms, 33ms, 16ms, 33ms, etc... I find this to be painfully obvious, and is a bit like stuttering to me. Others have a harder time picking up the stutter.

One thing that will trip you up is that when BrightCandle went to programming school, they were taught that DirectX doesn't do triple buffering, which it does now, though slightly different than how OpenGL does it. As a result, he won't recognize what DirectX does as triple-buffering, even though that is what it is called, but again, it is different than how OpenGL does it.
 

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
I have gone through this tons of times. I have only seen a couple cases EVER where I went from 60 fps to 30 fps on the framreate counter even with no triple buffering. if some of you are claiming that framerates between 30 and 60 fps will not be shown on the counter then you are flat out wrong as that is the case 99% of the time.

If you are dropping to 55ish FPS, it is quite possible that you can do that without triple buffering, as frame times can vary a bit and that is on the border.

If you are getting 45ish FPS with v-sync on, some form of triple-buffering most likely is enabled, even if it is not an option in game. Many DirectX games give you options for it, while I'm pretty certain others just have it built in.
 
Last edited:

toyota

Lifer
Apr 15, 2001
12,957
1
0
If you are dropping to 55ish FPS, it is quite possible that you can do that without triple buffering, as frame times can vary a bit and that is on the border.

If you are getting 45ish FPS with v-sync on, some form of v-sync most likely is enabled, even if it is not an option in game. Many DirectX games give you options for it, while I'm pretty certain others just have it built in.
you mean triple buffering and no even without triple buffering I have only seen it drop couple times in all the years of gaming when triple buffering was not even being used. again i am talking about any framerate counter. name a game without triple buffering and I will make a video showing it does not drop from 60 to 30 fps. I had the same argument with BFG10K and he specifically named a game and claimed it dropped straight from 60 to 30. I knew it wasn't true and made a video to prove it at that time and even just sat there showing framerates in the 40s and 50s. before that he argued and argued with me claiming fraps went from 60 to 30 on that game. so again all these people claiming the framerate counter will always show you going straight from 60 fps to 30 fps are just making stuff up.
 

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
you mean triple buffering and no even without triple buffering I have only seen it drop couple times in all the years of gaming when triple buffering was not even being used. again i am talking about any framerate counter. name a game without triple buffering and I will make a video showing it does not drop from 60 to 30 fps. I had the same argument with BFG10K and he specifically named a game and claimed it dropped straight from 60 to 30. I knew it wasn't true and made a video to prove it at that time and even just sat there showing framerates in the 40s and 50s. before that he argued and argued with me claiming fraps went from 60 to 30 on that game. so again all these people claiming the framerate counter will show you going straight from 60 fps to 30 fps are just full of it.

Yes, I meant triple-buffering, but the problem is, you don't know if a game has triple buffering built in or not. You cannot test it without knowing that information.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
Yes, I meant triple-buffering, but the problem is, you don't know if a game has triple buffering built in or not. You cannot test it without knowing that information.
again I can test in games that people CLAIM drop from 60 fps straight to 30 fps and NOT once has that turned out to be true. and the vast majority of games do not have triple buffering especially older ones. the main point is that drives me crazy when people make those claims that you will see it in the framerate counter. again name one game without triple buffering and I can almost guarantee it will not drop from 60 to 30 on the framerate counter.
 

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
again I can test in games that people CLAIM drop from 60 fps straight to 30 fps and NOT once has that turned out to be true. and the vast majority of games do not have triple buffering especially older ones. the main point is that drives me crazy when people make those claims. again name one game without triple buffering and I can almost guarantee it will not drop from 60 to 30 on the framerate counter.

I agree that it is very rare. I don't remember the last time I've seen it, but if a game engine does not utilize triple buffering, it would happen with v-sync on.

I also agree that it is very annoying when people assume this will happen, and tell people this will happen, when it clearly won't in most games.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
I agree that it is very rare. I don't remember the last time I've seen it, but if a game engine does not utilize triple buffering, it would happen with v-sync on.

I also agree that it is very annoying when people assume this will happen, and tell people this will happen, when it clearly won't in most games.
yeah even after I posted a video BFG10K and some others argued and tried to come up with all kinds of excuses of why it did not happen. funny thing his he could not show me a video showing his dropping from 60 to 30 in that game and he was the one that made the claim in the first place. so no one has ever proven me wrong or backed up their claims that games will go from 60 to 30 on the framerate counter.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
Did you try Arkham City?
that pos game will not even start up for me. it just goes to a blank screen which its done before but will usually start up after 3 or 4 attempts. its a somewhat common but random problem that has existed since the game came out. between that and tons of Bioshock 2 issues I am not a happy pc gamer tonight. lol

EDIT: ok I had to turn of FRAPS or the game would not start at all.

and yes this game will go to 30 fps for the most part if you cant maintain 60 fps. even in the bench I got 51 fps without vsync but 30 fps with it.
 
Last edited:

bystander36

Diamond Member
Apr 1, 2013
5,154
132
106
that pos game will not even start up for me. it just goes to a blank screen which its done before but will usually start up after 3 or 4 attempts. its a somewhat common but random problem that has existed since the game came out. between that and tons of Bioshock 2 issues I am not a happy pc gamer tonight. lol

EDIT: ok I had to turn of FRAPS or the game would not start at all.

and yes this game will go to 30 fps for the most part if you cant maintain 60 fps. even in the bench I got 51 fps without vsync but 30 fps with it.
It is not common for a game to not have some form of triple buffering, but as you can see by that game, there are exceptions.

Going back several years, especially back when OpenGl was dominant, it was a lot more common, but these days it is very rare.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
It is not common for a game to not have some form of triple buffering, but as you can see by that game, there are exceptions.

Going back several years, especially back when OpenGl was dominant, it was a lot more common, but these days it is very rare.
its much more common for a game to not have triple buffering. in fact its probably only a handful that have it.

at least we do now have a game to refer to that actually drops to 30 fps in the framerate counter though.