We often neglect to get too involved in the discussion of what options people should always enable when they play games. Rather, we tend to focus on what we test with. Honestly, our recommended settings for playing the games we test would be very similar to the settings we use to benchmark with one very important exception: we would enable triple buffering (which implies vsync) whenever possible. While it's not an available option in all games, it really needs to be, and we are here to make the case for why gamers should use triple buffering and why developers need to support it.

Most often gamers, when it comes to anything regarding vsync, swear by forcing vsync off in the driver or disabling it in the game. In fact, this is what we do when benchmarking because it allows us to see more clearly what is going on under the hood. Those who do enable vsync typically do so to avoid the visual "tearing" that can occur in some cases despite the negative side effects.

We would like to try something a little different with this article. We'll include two polls, one here and one at the end of the article. This first poll is designed to report what our readers already do with respect to vsync and double versus triple buffering.

{poll 134:300}

After reading the rest of this article, our readers are invited to answer a related poll which is designed to determine if arming gamers with the information this article provides will have any impact on what settings are used from here on out.

First up will be a conceptual review of what double buffering and vsync are, then we'll talk about what triple buffering brings to the table. For those who really want the nitty gritty (or who need more convincing) we will provide follow that up with a deeper dive into each approach complete with some nifty diagrams.

What are Double Buffering, vsync and Triple Buffering?
POST A COMMENT

175 Comments

View All Comments

  • DerekWilson - Wednesday, July 01, 2009 - link

    I still haven't confirmed with the developer, but I now think the "triple buffering" that L4D uses is actually a flip queue with 1 frame render ahead (two back buffers; three total buffers).

    Doom 3 with triple buffering forced in the nvidia control panel with vsync will work exactly as described in this article ...

    To double check, I asked NVIDIA for specifics -- triple buffering as forced in their control panel (which only works for OpenGL games) performs exactly the way this article describes that it should.
    Reply
  • DerekWilson - Sunday, June 28, 2009 - link

    I will do my best to develop a quantitative input lag test. If I can achieve that goal then I will test this and other reported issues. Reply
  • Dospac - Sunday, June 28, 2009 - link

    It may be due to Crossfire or ATI's drivers, but enabling vsync and forcing triple buffering with D3Doverrider wrecks the input responsiveness on my system(Vista64 and 3870X2)

    I used to always play with Vsync and triple buffering when I was on a 120Hz CRT. With a 60Hz LCD, shooters are unplayable. This article is giving inaccurate advice when it states that input lag is not increased.
    Reply
  • DerekWilson - Sunday, June 28, 2009 - link

    multiGPU options and triple buffering do not play nice together at this point in time. Reply
  • bobjones32 - Sunday, June 28, 2009 - link

    I just fired up Left 4 Dead and tested the various vsync options:

    -vsync disabled
    -vsync enabled, double buffering
    -vsync enabled, triple buffering
    -vsync disabled in game, forced through D3DOverrider with triple buffering

    My observations (note - I can retain a perfect 60fps on my 60Hz monitor):
    1) triple-buffered vsync still had a noticeable amount of mouse lag
    2) double-buffered vsync seemed to have *less* lag, oddly enough
    3) There was some odd hitching that took place every second with vsync on, regardless of triple buffering settings.

    Oddly enough, mouse lag in Half-Life 2: Episode Two (with either double buffering or triple buffering) was much less noticeable, but that hitching every second was still there.


    Derek - any idea why this might be the case?
    Reply
  • Scalarscience - Sunday, June 28, 2009 - link

    Are you using Crossfire, SLI or a dual gpu card? Reply
  • bobjones32 - Sunday, June 28, 2009 - link

    No, single-card 4870 setup. Reply
  • DerekWilson - Wednesday, July 01, 2009 - link

    I have no idea why you would see the hitching issue.

    I do believe my guess about how L4D does it was wrong though: I now think they use a flip queue with three total buffers rather than the technique described in this article.
    Reply
  • Ruud van Gaal - Friday, May 25, 2012 - link

    One thing I had in my own game with a 1 second hitch was exposure calculation. Mipmapping (through the gfxcard) a single frame down to 1 pixel actually took quite a bit of time and was noticable by a dip in the framerate. Turning off this auto-exposure mipmapping solved it (for me). Reply
  • oralpain - Saturday, June 27, 2009 - link

    Even though I've been well aware of how triple buffering works, and how to enable it, I rarely use it.

    Even on my 60Hz LCDs, I usually have a better subjective experience with vsynch off. Not exactly sure why this is, but higher FSP, even if I'm not seeing the visual effects of it, is worth it over an elemination in the occasional tearing I notice.

    In the handful of games where I do prefer vsych, I've always tried to use triple buffering.
    Reply

Log in

Don't have an account? Sign up now