Under what circumstances should I force triple buffering?

K.I.L.E.R

Retarded moron
Veteran
I understand you should do so with VSync however without VSync is there any benefit with TB?

I have never seen one when benchmarking my systems so I guess TB is useless when VSync isn't used?

I'm writing my own buffering system but I wander if it's even worth doing so.
I'm going to optimise it for my own rendering requirements.

Is this a good idea or should I just not bother with it?
 
Re: Under what circumstances should I force triple buffering

K.I.L.E.R said:
I understand you should do so with VSync however without VSync is there any benefit with TB?

it's useless without vsync..
 
With MRT could you render the background of a scene to the two backbuffers so you wouldn't have to render it again?

Useful in cases like isometric games?
 
Re: Under what circumstances should I force triple buffering

LeGreg said:
K.I.L.E.R said:
I understand you should do so with VSync however without VSync is there any benefit with TB?

it's useless without vsync..
Um, actually it's not as straightforward as that.

I distinctly remember one particular case and it had to do with one (and only one specific) map -- Slaughterhouse -- in UT2003. The map uses a lot of memory and with vsync always off, 6xAA with triplebuffering is slower than 4xAA. However, 6xAA without triplebuffering is faster than 4xAA. Again, vsync is off in both with/without triplebuffering cases.

Hadn't given that too much thought at the time (~2002). Also can't remember on what hardware.
 
Re: Under what circumstances should I force triple buffering

Reverend said:
LeGreg said:
K.I.L.E.R said:
I understand you should do so with VSync however without VSync is there any benefit with TB?

it's useless without vsync..
Um, actually it's not as straightforward as that.

I distinctly remember one particular case and it had to do with one (and only one specific) map -- Slaughterhouse -- in UT2003. The map uses a lot of memory and with vsync always off, 6xAA with triplebuffering is slower than 4xAA. However, 6xAA without triplebuffering is faster than 4xAA. Again, vsync is off in both with/without triplebuffering cases.

Hadn't given that too much thought at the time (~2002). Also can't remember on what hardware.

Tripple buffering uses more video memory (since there's an extra back buffer that needs to be created). As you increase the amount of AA samples being taken, each back buffer needs more video memory... with tripple buffering and 6xAA enabled you may have been blowing out video memory and forcing some swapping across the bus to occur. This would definately slow things down and also explain why things got faster when you went back to double buffer with 6xAA on.

Tripple buffering is (generally) used when enabling VSync, the 3rd back buffer means that you will always have a free back buffer to render into and there will always be a back buffer available to flip with the front buffer on verticle refresh. This allows the graphics hardware to avoid stalling while waiting for the monitor to refresh. If you aren't enabling VSync then there really isn't a good reason for enabling tripple buffering.

--chris
 
Back
Top