• We’re currently investigating an issue related to the forum theme and styling that is impacting page layout and visual formatting. The problem has been identified, and we are actively working on a resolution. There is no impact to user data or functionality, this is strictly a front-end display issue. We’ll post an update once the fix has been deployed. Thanks for your patience while we get this sorted.

Triple Buffering - Adds or reduces input lag?

crow41798

Junior Member
After searching multiple forums for about an hour, I've gotten conflicting answers about whether or not triple buffering introduces or reduces input lag. Anyone willing to give me a straight answer as to why there's so much confusion on this?
 
no straight answer will ever been given. it will just be the same arguments that have happened for years.
 
It depends. There is no clear answer, because it depends on several different conditions.

Assuming a 60hz monitor:
OpenGL - There are no conditions where triple buffering adds to latency. At worst, it won't improve things.

DirectX:
FPS are lower than 60 - latency is improved with triple buffering, as it allows the GPU to start on new frames while waiting to display an existing one.

FPS are a solid at 60
- You'll get added latency. DirectX requires all rendered frames to be displayed, as a result, you will end up in a render ahead system where the frame being displayed is the older of 2 rendered frames.

Note: SLI and Crossfire force triple or more buffering.
 
As long as you have to "wait" to show a new frame, you will always have a "lag" between what you see and where you are located in the 3D space. It's the case with v-sync, tripple buffering, g-sync, every-sync, ...

Yes, you can play with the fps, hz, buffering type tp minimize the lag, but you can not remove it, unless you remove the "waiting"
part.
 
As long as you have to "wait" to show a new frame, you will always have a "lag" between what you see and where you are located in the 3D space. It's the case with v-sync, tripple buffering, g-sync, every-sync, ...

Yes, you can play with the fps, hz, buffering type tp minimize the lag, but you can not remove it, unless you remove the "waiting"
part.
Yes! Just by the nature of triple buffering, you will always be one frame refresh behind. At 60Hz that is 16ms. A lot of people will not notice it but if you're the type to run your mouse at 1000Hz on a USB port, you most definitely will.
 
Any buffering will add latency over not buffering. Do the people who think otherwise not know what the word buffer means?

With double buffering, v-sync and FPS below 60, the lack of buffering makes the GPU have to wait until vertical retrace mode before it can start working on the next frame. That waiting causes more latency than if you had a 3rd buffer for the GPU to start working on the next frame, getting a head start for the next refresh. That reduces latency. Without triple buffering, in this case, your FPS will tend to stick near 30 FPS until you can reach 60 FPS.

If you are able to reach 60 FPS and stay there, then in DirectX, triple buffering will result in the newest frame being held back until the oldest frame is displayed. This causes more latency than double buffering.

Triple buffering without V-sync does nothing. G-sync reduces the latency of seeing the whole frame, better than no sync at all, as part of the image has to wait a refresh to be seen.
 
This seems to illustrate how you may or may not get a delay, depending on various factors as explained above?

512px-Comparison_double_triple_buffering.svg.png


http://en.wikipedia.org/wiki/Multiple_buffering
 
Back
Top