how can I prove triple buffering isnt being enabled in DX games?

toyota

Lifer
Apr 15, 2001
12,957
1
0
there is a topic over on another forum where a couple of people are saying they use triple buffering from the CCC and their games are smoother. I tried to explain that the setting is only for openGL but they do not believe me. I linked to tweakguides and anandtech article that explains this but their argument is that those articles are outdated. how can I actually prove this to them so they will stop giving out bad advice to others?
 

Rifter

Lifer
Oct 9, 1999
11,522
751
126
I dunno, but i didnt know until recently you needed to use a third party app to do this so the info is not that widespread yet. Please post back here when you do find a newer article on the subject i would be interested in reading it.
 

busydude

Diamond Member
Feb 5, 2010
8,793
5
76
From what I know... triple buffering, if enabled in XP, affects both OpenGL and Dx9 games. In Win Vista/7 it only affects OpenGL based games. Also, triple buffering only works if Vsync is enabled.

I don't know the reason behind it.. maybe some one else can help. I am interested to know as well.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
From what I know... triple buffering, if enabled in XP, affects both OpenGL and Dx9 games. In Win Vista/7 it only affects OpenGL based games. Also, triple buffering only works if Vsync is enabled.

I don't know the reason behind it.. maybe some one else can help. I am interested to know as well.
I don't think that is true because I remember this debate back before Vista even came out.
 

thilanliyan

Lifer
Jun 21, 2005
12,040
2,254
126
I don't think it works in CCC but get them to try enabling it in D3DOverrider and see if there's a difference that way.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
This is very easy to prove. Get them to turn on vsync and fire up fraps to observe the framerate.

If they have a variable framerate (e.g. 53 FPS, 47 FPS) then triple buffering is active.

If their framerate always jumps between factors of 60 (e.g. 60 FPS, 30 FPS, 15 FPS) with nothing in between, triple buffering is not working.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
This is very easy to prove. Get them to turn on vsync and fire up fraps to observe the framerate.

If they have a variable framerate (e.g. 53 FPS, 47 FPS) then triple buffering is active.

If their framerate always jumps between factors of 60 (e.g. 60 FPS, 30 FPS, 15 FPS) with nothing in between, triple buffering is not working.
I know there are plenty of games that have no triple buffering built in or me forcing it on yet I never go right from 60fps to 30fps.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
I know there are plenty of games that have no triple buffering built in or me forcing it on yet I never go right from 60fps to 30fps.
You don’t know anything unless you’ve checked the game’s source code. Lots of DX games use more than two buffers (DX actually allows as many buffers as you like). But it's often not visible to the user at all, and it often isn't called that.

The games you talk about either have triple buffering in some capacity, or they have a framerate lock (e.g. Doom 3), or they’re never demanding enough to drop below 60 FPS.

A double buffered system with vsync can only have a framerate that is a multiple of the refresh rate. The whole purpose of triple buffering is to eliminate that problem.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
You don’t know anything unless you’ve checked the game’s source code. Lots of DX games use more than two buffers (DX actually allows as many buffers as you like). But it's often not visible to the user at all, and it often isn't called that.

The games you talk about either have triple buffering in some capacity, or they have a framerate lock (e.g. Doom 3), or they’re never demanding enough to drop below 60 FPS.

A double buffered system with vsync can only have a framerate that is a multiple of the refresh rate. The whole purpose of triple buffering is to eliminate that problem.
tell me a game that doesn't have triple buffering and I will take screenshots or make you a vid. I have been playing pc games for 8 years and almost always use vsync. I don't recall ever seeing a game drop from 60fps directly to 30fps.
 
Last edited:

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
tell me a game that doesn't have triple buffering and I will take screenshots or make you a vid.
How would I know? I don't have access to commercial games' source code. Do you?

How exactly are you inferring these games don’t use more than two buffers? Because there isn’t a “triple buffer” check box in the main menu? :rolleyes:

But from anecdotal testing I’ve found that Call of Juarez 1 appears to be affected in such a manner. When enabling vsync it’s trivial to get the game to bounce between 60 FPS and 30 FPS just by moving the mouse lightly. I tried it right now and confirmed this is the case.
I have been playing pc games for 8 years and almost always use vsync. I don't recall ever seeing a game drop from 60fps directly to 30fps.
Then those games are using more than two buffers and/or you aren’t running high enough settings to tax them below your refresh rate.

You claim these games are double buffered and yet don’t drop to multiples of the refresh with vsync enabled. What then do you think triple buffering actually does?
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
How would I know? I don't have access to commercial games' source code. Do you?

How exactly are you inferring these games don’t use more than two buffers? Because there isn’t a “triple buffer” check box in the main menu? :rolleyes:

But from anecdotal testing I’ve found that Call of Juarez 1 appears to be affected in such a manner. When enabling vsync it’s trivial to get the game to bounce between 60 FPS and 30 FPS just by moving the mouse lightly. I tried it right now and confirmed this is the case.

Then those games are using more than two buffers and/or you aren’t running high enough settings to tax them below your refresh rate.

You claim these games are double buffered and yet don’t drop to multiples of the refresh with vsync enabled. What then do you think triple buffering actually does?
what the hell are you rolling your eyes about? so I guess every game I own uses triple buffering then? :rolleyes:( I can do it too)

so are you actually saying that Call of Juarez never goes to any other framerate between 60fps and 30fps when it drops below 60fps? I am going to install it and check it out.
 
Last edited:

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
what the hell are you rolling your eyes about? so I guess every game I own uses triple buffering then... ( I can do it too)
Again I’ll ask, what do you think triple buffering actually does? I want to hear you explain it to me in your own words.

I'd suggest you consult some elementary documentation about the topic and then come back if you need further clarification.

so are you actually claiming that Call of Juarez never goes to any other framerate between 60fps and 30fps when it drops below 60fps?
Aside from the noise from Fraps, yes. If you understood how a double buffered system with vsync works, you'd know why this happens.
 
Last edited:

toyota

Lifer
Apr 15, 2001
12,957
1
0
Again I’ll ask, what do you think triple buffering actually does? I want to hear you explain it to me in your own words.

I'd suggest you consult some elementary documentation about the topic and then come back if you need further clarification.


Aside from the noise from Fraps, yes. If you understood how a double buffered system with vsync works, you'd know why this happens.
where am I arguing anything? I said I have never seen a game go directly from 60 to 30 fps with vsync on and that's a fact. its also a fact that not every game uses triple buffering so what conclusion should I draw?

so if I post benchmarks or screenshots showing me getting between 30 and 60 fps with vsync on in a game that doesn't use triple buffering what does that mean?
 
Last edited:

toyota

Lifer
Apr 15, 2001
12,957
1
0
okay since you claimed Call of Juarez goes right from 60fp to 30fps I decided to check that out. that means if I am not averaging 60fps then I will be at 30fps according to what you are saying. I first tested the game with vsync off and then with it on.

vsync off

Frames, Time (ms), Min, Max, Avg
3108, 64677, 34, 71, 48.054

vsync on

Frames, Time (ms), Min, Max, Avg
2595, 54913, 29, 61, 47.257

well I sure as heck cannot maintain close to 60fps with vsync off yet I still average the same with it on or off. so again give me another game and I will show you that triple buffering claim does not pan out in reality.
 
Last edited:

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
I said I have never seen a game go directly from 60 to 30 fps with vsync on and that's a fact.
What you’ve seen doesn’t have any bearing on what I posted earlier.

its also a fact that not every game uses triple buffering so what conclusion should I draw?
I don’t really care what conclusion you draw if it isn’t founded in reality.

so if I post benchmarks or screenshots showing me getting between 30 and 60 fps with vsync on in a game that doesn't use triple buffering what does that mean?
Again, how do you know the game isn’t using triple buffering? Do you have access to the source code?

Answer the question Toyota: how do you know the game isn’t using triple buffering?

Your thread title is asking how one can know this because you don’t know the answer, and now you’re arguing that you do? Shall we close the thread then?

that means if I am not averaging 60fps then I will be at 30fps according to what you are saying.
LMFAO.

Nobody’s claiming the average can either be 60 FPS or 30 FPS. The claim is that the framerate can either be 30 FPS or 60 FPS and anyone with even with the most basic understanding of a double buffered system understands why this is the case.

Now, if half the time the game is at 60 FPS and the other half it’s at 30 FPS then obviously it’ll have a 45 FPS average, but this in no way changes what I posted earlier

It’s clear you don’t understanding anything about the timing mechanics of buffering relating to vsync or how this relates to an average framerate, so please stop continuing to spread misinformation..
vsync on

Frames, Time (ms), Min, Max, Avg
3108, 64677, 34, 71, 48.054

vsync off

Frames, Time (ms), Min, Max, Avg
2595, 54913, 29, 61, 47.257
Pretty interesting results there…with vsync on you exceed refresh rate and get 71 FPS? LMAO, I think you’ve swapped the two results around.

It’s hard to take anyone seriously who doesn’t even know how to interpret his own results, or what framerate results look like when vsync is in operation.

Once you understand your own results then you’ll see I’m right with what I was saying earlier. The evidence is right there in the second set of results.
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
yes I accidentally switched the results so enjoy your little laugh. when playing the game the framerate is basically the same on the screen with or without vsync on which means I am at EVERY number between 30 and 60 with vsync on. I am not getting 60fps in one spot and then immediately just 30 fps in another like you keep claiming. its a waste of time dealing with you anyway.
 
Last edited:

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
yes I accidentally switched the results. its a waste of time dealing with you anyway.
Yeah, whatever. It's not my fault you refuse to listen to reality.

Again, look at your second set of results, the actual vsync results. Things are exactly as I told you they'd be.

I am not getting 60fps in one spot and then immediately just 30 fps in another like you keep claiming. its a waste of time dealing with you anyway.
Yes you are. In any section of the game stop moving and wait 5 seconds and you'll see the framerate always settles onto either 30 FPS or 60 FPS, and it'll never settle on anything in between. The brief numbers in between are just noise from Fraps.

With triple buffering you could settle on any number in between (e.g. 51 FPS), and that's the whole point of it. Again, this is quite elementary.
 
Last edited:

toyota

Lifer
Apr 15, 2001
12,957
1
0
Yeah, whatever. It's not my fault you refuse to listen to reality.

Again, look at your second set of results, the actual vsync results. Things are exactly as I told you they'd be.
you said if I dropped below 60fps without triple buffering that i would go straight to 30fps. you specifically said in Call of Juarez that you go from 60 to 30fps and that did not happen while I was watching with fraps.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,002
126
you said if I dropped below 60fps without triple buffering that i would go straight 30fps. you specifically said in Call of Juarez that you go from 60 to 30fps in that and that on and that did not happen while I was watching with fraps.
Are you doing this on purpose, or do you truly not understand the basic information I'm giving you?

Keep reading this over and over until you understand it:

Yes you are. In any section of the game stop moving and wait 5 seconds and you'll see the framerate always settles onto either 30 FPS or 60 FPS, and it'll never settle on anything in between. The brief numbers in between are just noise from Fraps.

With triple buffering you could settle on any number in between (e.g. 51 FPS), and that's the whole point of it. Again, this is quite elementary.
 

taltamir

Lifer
Mar 21, 2004
13,576
6
76
From what I know... triple buffering, if enabled in XP, affects both OpenGL and Dx9 games. In Win Vista/7 it only affects OpenGL based games. Also, triple buffering only works if Vsync is enabled.

I don't know the reason behind it.. maybe some one else can help. I am interested to know as well.

triple buffering adds a little bit of input lag, it is used to alleviate a performance issue (drastic performance drops) with vsync and is generally not considered useful when vsync is off, so by default AMD and nVidia both only allow it to work if vsync is on to "idiot proof" their drivers.
At least, thats how it used to be. IIRC triple buffering has another use... I vaguely remember reading something about triple (or more) buffering being useful for multi GPU setups and it being used there... can anyone confirm or refute this for me? hopefully with a source that explains it in more detail
 

toyota

Lifer
Apr 15, 2001
12,957
1
0
Are you doing this on purpose, or do you truly not understand the basic information I'm giving you?

Keep reading this over and over until you understand it:

Yes you are. In any section of the game stop moving and wait 5 seconds and you'll see the framerate always settles onto either 30 FPS or 60 FPS, and it'll never settle on anything in between. The brief numbers in between are just noise from Fraps.

With triple buffering you could settle on any number in between (e.g. 51 FPS), and that's the whole point of it. Again, this is quite elementary.
again that is not true and here is a video I just made to prove it. you can see I never settle down to 30fps in that game like you claimed. I move to a couple of different spots and let it sit there sometimes for 10-15 seconds at a time and the framerate is random like I have been telling you all along. http://www.youtube.com/watch?v=Rc213lq6bbA
 
Last edited:

taltamir

Lifer
Mar 21, 2004
13,576
6
76
@BFG and Toyota

I believe I can clarify it... It is FRAPS causing this misunderstanding, but I wouldn't call it noise.

First, math! to convert ms to render to FPS you use the formula FPS = 1/t1 = 1000/t2
t1 = time to render in seconds
t2 = time to render in miliseconds
It is a simple period vs frequency issue.

How to measure FPS:

1. When measuring FPS you could count how many frames are rendered in a unit of time (say, 1 second) then average them and use a conversion factor to get it in "per second".

2. You could also measure the individual time taken to render each frame in ms, convert them to FPS via formula by then average those values every certain unit of time and use a conversion factor for the total time if its not 1 second. (ex, if you poll every 2 seconds)

3. You could measure the individual time to render each frame and consider it as FPS, to my knowledge NO FPS measurement program does that.

So FRAPs uses 1 AFAIK, maybe 2. What you need to do is pull out your FRAPs time to render per frame logs. If vsync is on, triple buffering is off, and you are getting below 60 FPS but above 30 FPS then you will find your log contains about half of the frames rendering at 16.667ms (60 FPS) and half at 33.33ms (30 FPS) and nothing in between. This is because with vsync on and no triple buffer you can only render at an integer division of the monitors max.
So a monitor with a max of 60 FPS can render each frame in (times given in FPS, make your own conversions to actual ms): 60FPS, 60/2 = 30FPS, 60/3 = 20FPS, 60/4 = 15FPS, 60/5 = 12FPS and so on.

Triple buffering eliminates this issue (at the cost of some lag)

Back in the day I used FRAPS dumps and examined "time to render" to find proof of micro-stutter... since then FRAPS added a micro-stutter detection which I cannot comment on since I don't know how it calculates its figure... although I have some guesses.
FRAPS is a powerful tool and its not making an error here; I believe the cause of this argument is making an error in interpreting the FRAPS results.
 
Last edited:

toyota

Lifer
Apr 15, 2001
12,957
1
0
I am going by what he said and he was talking about using fraps. and what is is claiming is not the same results I am getting.

But from anecdotal testing I’ve found that Call of Juarez 1 appears to be affected in such a manner. When enabling vsync it’s trivial to get the game to bounce between 60 FPS and 30 FPS just by moving the mouse lightly. I tried it right now and confirmed this is the case.


Yes you are. In any section of the game stop moving and wait 5 seconds and you'll see the framerate always settles onto either 30 FPS or 60 FPS, and it'll never settle on anything in between. The brief numbers in between are just noise from Fraps.
 
Last edited: