Review Index:
Feedback

Frame Rating: Visual Effects of Vsync on Gaming Animation

Author:
Manufacturer: PC Perspective

Not a simple answer

After publishing the Frame Rating Part 3 story, I started to see quite a bit of feedback from readers and other enthusiasts with many requests for information about Vsync and how it might affect the results we are seeing here.  Vertical Sync is the fix for screen tearing, a common artifact seen in gaming (and other mediums) when the frame rendering rate doesn’t match the display’s refresh rate.  Enabling Vsync will force the rendering engine to only display and switch frames in the buffer to match the vertical refresh rate of the monitor or a divisor of it.  So a 60 Hz monitor could only display frames at 16ms (60 FPS), 33ms (30 FPS), 50ms (20 FPS), and so on.

Many early readers hypothesized that simply enabling Vsync would fix the stutter and runt issues that Frame Rating was bringing to light.  In fact, AMD was a proponent of this fix, as many conversations we have had with the GPU giant trailed into the direction of Vsync as answer to their multi-GPU issues. 

In our continuing research on graphics performance, part of our Frame Rating story line, I recently spent many hours playing games on different hardware configurations and different levels of Vertical Sync.  After this time testing, I am comfortable in saying that I do not think that simply enabling Vsync on platforms that exhibit a large number of runt frames fixes the issue.  It may prevent runts, but it does not actually produce a completely smooth animation. 

To be 100% clear - the issues with Vsync and animation smoothness are not limited to AMD graphics cards or even multi-GPU configurations.  The situations we are demonstrating here present themselves equally on AMD and NVIDIA platforms and with single or dual card configurations, as long as all other parameters are met.  Our goal today is only to compare a typical Vsync situation from either vendor to a reference result at 60 FPS and at 30 FPS; not to compare AMD against NVIDIA!!

View Full Size

In our initial research with Frame Rating, I presented this graph on the page discussing Vsync.  At the time, I left this note with the image:

The single card and SLI configurations without Vsync disabled look just like they did on previous pages but the graph for GTX 680 SLI with Vsync on is very different.  Frame times are only switching back and forth between 16 ms and 33 ms, 60 and 30 instantaneous FPS due to the restrictions of Vsync.  What might not be obvious at first is that the constant shifting back and forth between these two rates (two refresh cycles with one frame, one refresh cycle with one frame) can actually cause more stuttering and animation inconsistencies than would otherwise appear.

Even though I had tested this out and could literally SEE that animation inconsistency I didn't yet have a way to try and demonstrate it to our readers, but today I think we do.

The plan for today's article is going to be simple.  I am going to present a set of three videos to you that show side by side runs from different configuration options and tell you what I think we are seeing in each result.  Then on another page, I'm going to show you three more videos and see if you can pinpoint the problems on your own.

Continue reading our article on the effects of Vsync on gaming animation smoothness!!

 

Battlefield 3 - 2560x1440 - Ultra Settings

Our first video comparison will look at two fixed frame rate runs of a portion of Battlefield 3, one at 60 FPS consistently and one at 30 FPS consistently.  The first question I'll want to address is on the hardware behind these "reference" runs.  While I will tell you we used Titan cards in SLI for our recordings, the truth it matters very little which configuration we used to get these results, as the goal was to have so much additional performance that we didn't ever worry about frame rates falling below the Vsync rates.  By enabling standard Vsync we were able to capture a steady 60 FPS result and with NVIDIA's half-refresh rate Adaptive Vsync I could capture a solid 30 FPS result. 

Download the 250MB MP4 from Mega.co.nz

Reports from most users are telling us that you NEED to download these files for a solid comparison!

Battlefield 3 - 60 FPS vs 30 FPS Comparison

You should be able to tell pretty easily that the left hand side of this video is the 60 FPS version and the right hand side is the 30 FPS version.  The animation on the left is clearly smoother though neither has any "stutter" or variance in the frame rate.  Yes, the right side won't look as good in comparison, but when viewed on its own (cover the left side with a piece of paper) and it should look great in real time and lower speeds.

In data form, this is what this comparison looks like:

View Full Size

The black line is nearly completely static at 16 ms frame times (only a single frame time spike to the higher 33 ms rate) resulting in a completely smooth 60 FPS animation rate on the screen.  Our orange line shows the result of Adaptive half-refresh rate settings from NVIDIA's control panel giving us a static 30 FPS (33 ms) animation rate, with one instance of higher / lower frame times. 

 

Our second video will now bring in a typical graphics card configuration with standard Vsync enabled and compare it to the 60 FPS result above.  In this case the test is using a single Radeon HD 7970 GHz Edition card but again this could be any card, in any game at any settings that has frame rates under the maximum refresh rate of your display for significant amounts of time.

Download the 250MB MP4 from Mega.co.nz

Reports from most users are telling us that you NEED to download these files for a solid comparison!

Battlefield 3 - 60 FPS vs Standard Vsync Comparison

In this video, the 60 FPS result is on the left and the HD 7970 running standard Vsync is on the right hand side.  You should be able to see at real time the difference in smoothness between these two different user experiences and it will be more apparent when we slow down the video to 50% and 20%. 

What does this look like in data form?

View Full Size

The black line is our 60 FPS static reference video while the orange line represents the standard Vsync run with the Radeon HD 7970 card.  What kind of appears as "blocks" of orange on the graph is actually very quick and repeated variation in the instantaneous frame rate of 16 ms and 33 ms. This is due to the the function of Vsync that forces the frame to only be displayed at each refresh cycle of the display.  In the first 20 seconds of the game, Battlefield 3 with these settings and this hardware is switching between 60 FPS and 30 FPS pretty regularl,y and because of that you see the differences in animation smoothness above. 

 

What is maybe most interesting is our final video that compares a flat 30 FPS to the same Vsync result shown above.

Download the 250MB MP4 from Mega.co.nz

Reports from most users are telling us that you NEED to download these files for a solid comparison!

Battlefield 3 - 30 FPS vs Standard Vsync Comparison

The left hand side is the static 30 FPS result and on the right again is the Vsync run from the Radeon HD 7970 GHz Edition. Comparing the video in this case is much more interesting as in my experience there are some divided opinions.  In a purely mathematical view the screen on the left should be "smoother" than the animation on the right hand side, even though on average it is running at a lower frame rate per second.  However, the Vsync result has variance in frame times and thus you can see some patterns to the frames that don't exist at static 30 FPS or 60 FPS results.  It kind of halts, or appears to freeze some times as a result of seeing frames at 16 ms, 16 ms, 16 ms, 33 ms, 16 ms, 16 ms...

Maybe looking at the data will help describe the phenomenon.

View Full Size

Clearly the black line of frame times is the same or slower than every instance of the orange line that represents the Vsync video output.  However, the black line is consistently at 30 FPS while the orange line varies between 30 FPS and 60 FPS.  Those periods of 60 FPS visuals are definitely smoother than the 30 FPS result (as we showed you in the first video on this page) but the variance in frame rates is actually more noticeable than you might have otherwise realized.

Despite all the arguing back and forth on what the limit of frame rate perception of the human eye is, there is one thing that is true without doubt - the human eye and brain can detect very subtle changes in animations pretty easily.  Looking at a five second animation at 55 FPS and then 60 FPS, you'd be hard pressed to tell which is which.  But if you see a video running at 60 FPS that suddenly drops to 30 FPS and you can clearly see the effect. 

Now comes the real debate - which side of the video above is better?  "Better" is a term that has many meanings and I don't have any doubts that there will be variance in answers from our readers across the world.  I fall on the side of more static frame rate - consistent 30 FPS performance is better than what we have in many cases with traditional Vsync.

 

Now, on the next page, we are going to present the same videos and data but without telling you which result is which.

April 22, 2013 | 12:19 AM - Posted by katamari (not verified)

60 vs 30 60 wins.
30 vs vsync 30 wins.
60 vs vsync tough call but 60 wins BARELY. I can only tell the difference when you turned the camera at 20%.

April 23, 2013 | 09:08 AM - Posted by loc

Good article but what I miss is a game test with v-sync enabled with triple buffering build in game. World of Warcraft is good example of this. It runs smoothly without tearing even if v-sync is enabled thanks to triple buffering.

April 23, 2013 | 11:46 AM - Posted by bystander (not verified)

Most games do not have a way to force triple-buffering, but it is pretty safe bet that if a game runs in the 40-50 FPS range with v-sync on, triple buffering is being used.

Triple buffering does not fix the problem v-sync causes, in which some frames take 16.7ms to display, and others take 33.3ms of time to display. It can't. It is not possible. Triple buffering makes it possible for frames to be rendered while the current frame is waiting to be sent to the frame buffer. Without triple buffering, you end up forcing the GPU to wait until the previous frame is displayed, before it can create a new frame, resulting in a constant 30 FPS, even if 50 is possible.

April 23, 2013 | 11:49 AM - Posted by bystander (not verified)

The comparison you want is the constant 30 FPS example, compared to normal v-sync on the 7970. The constant 30 FPS with v-sync is like not having triple buffering, and the normal v-sync on the 7970 is like having triple buffering, because it does.

June 9, 2013 | 11:20 AM - Posted by Anonymous (not verified)

Assuming it's 33ms and not 33.33ms, Isn't the best solution to this is to simply cap at a divisible of 16.5ms? That's what I do and it feels smooth as butter.

16.5x4 - cap at 66
8.25x16 - cap at 132

Which will obviously give us an obvious multiple for each step. If you wanted to play at 30fps you'd cap at 33 - play double that frame rate, you need to cap at 66 - on a 120hz monitor you'd need to cap at 132 - and so on.

The game engine would be sending you frame-per-frame. It seems to improve hit-detection and all that other crap too.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Lines and paragraphs break automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <blockquote><p><br>
  • Web page addresses and e-mail addresses turn into links automatically.

More information about formatting options

By submitting this form, you accept the Mollom privacy policy.