• chaorace
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 year ago

    Once upon a time computer graphics would tear all the time. “V-Sync” was invented to fix the issue and it did a fine job of it. Unfortunately, because V-Sync marries your framerate to the monitor’s refresh rate, it clamps the rendering pipeline by 1/2 increments whenever the GPU can’t keep pace with the display’s full refresh rate. In other words: if you couldn’t hit 60 FPS you dropped to 30 FPS, if you couldn’t hit 30 FPS you dropped to 15.

    Some GPU eggheads realized that they could alleviate this issue by introducing an extra step into the frame pipeline between the monitor (i.e.: the display buffer) and the GPU (i.e.: the video buffer) – a third buffer, if you will. The presence of this extra buffer gives the GPU a longer leash – it can immediately start drawing another frame while waiting for the display to refresh and bank this extra frame for later if the GPU needs to buy extra time (without halving the framerate!).

    This novel technique came to be known as “Triple Buffered V-Sync”, since it was just like V-Sync… but with a third buffer. Okay I lied – it’s actually simpler than that because “V-Sync” is a gamerism – in the graphics world “V-Sync” was always better known as “Double Buffering”, so it was only natural to call the revised technique “Triple Buffering”.