Is FRAPS FPS reading accurate?

Goi

Diamond Member
Oct 10, 1999
6,771
7
91
Hi,
I was running FRAPS while playing F.E.A.R. the other day and I noticed that the displayed framerate always stabilized to 20, 24, 30, 40, 60 or 120. My refresh rate is 120Hz while playing and I have vsync and triple buffering on. I thought the framerate-being-a-divisor-of-refresh-rate effect only happens if vsync is on BUT triple buffering is off?
 
Mar 19, 2003
18,289
2
71
Originally posted by: dug777
your triple buffering isn't working?

Driver-forced Triple Buffering never seems to work for Direct3D games (at least on Nvidia cards). You'll have to use a third party program like DirectX Tweaker to enable triple buffering in D3D games that don't specifically request it/support it. I can give you more details if you'd like...
 

Goi

Diamond Member
Oct 10, 1999
6,771
7
91
Hmm thanks. I was using nvidia's control panel to enable triple buffering. So that doesn't work? Is it a bug or something. I've never heard about this problem before. Anyway, yeah, details would be appreciated.
 

rbV5

Lifer
Dec 10, 2000
12,632
0
0
I thought the framerate-being-a-divisor-of-refresh-rate effect only happens if vsync is on BUT triple buffering is off?

Triple buffering can only do so much, it will behave exactly like double buffering if the engine can't deliver the frames to buffer.
 

Goi

Diamond Member
Oct 10, 1999
6,771
7
91
So when can the engine not deliver the frames to buffer? Is it dependent on the game engine?
 

rbV5

Lifer
Dec 10, 2000
12,632
0
0
Originally posted by: Goi
So when can the engine not deliver the frames to buffer? Is it dependent on the game engine?

Basically, With vsync enabled, it will display the framebuffer synced with the display's refresh rate.

With double buffering, one frame is displayed while the other frame is drawn. As you know, when the frame isn't ready to display (not completely drawn yet) the same frame is simply displayed again....effectively halving the framerate.

With triple buffering, it uses more vram to hold three (or more) frames to try and keep that from happening. One frame is being drawn, one complete frame is buffered to vram and one complete frame in vram is being displayed at the refresh interval.

The extra frame requires more vram, but helps maintain a constant framerate with a completed frame waiting to be displayed.....untill the game engine is not able to produce frames fast enough to keep a full frame buffered ahead, when that happens....it must display the same frame over again untill a full frame is available to display in the buffer...just like it would with double buffering.
 

BFG10K

Lifer
Aug 14, 2000
22,709
3,003
126
Driver-forced Triple Buffering never seems to work for Direct3D games (at least on Nvidia cards).
To my knowledge neither vendor can force it due to the nature of the API.
 
Mar 19, 2003
18,289
2
71
Originally posted by: BFG10K
Driver-forced Triple Buffering never seems to work for Direct3D games (at least on Nvidia cards).
To my knowledge neither vendor can force it due to the nature of the API.

That sounds right, I remember reading something to the effect that a game has to specifically request that third buffer in Direct3D. Although since that's the case, why does DXTweaker work to force triple buffering on a D3D app? :confused:
 

Goi

Diamond Member
Oct 10, 1999
6,771
7
91
OK, so there are 2 schools of thought here - one that triple buffering isn't actually enabled, and one that triple buffering isn't actually helping due to the engine producing frames too slowly.
 

rbV5

Lifer
Dec 10, 2000
12,632
0
0
Originally posted by: Goi
OK, so there are 2 schools of thought here - one that triple buffering isn't actually enabled, and one that triple buffering isn't actually helping due to the engine producing frames too slowly.

Its not working in FEAR just enabled in the drivers. I do think you might be able to use DirectX tweaker to enable it however.

Seems like UT2004 supports triple buffering in the game, so its not that DirectX can't support triple buffering. Seems I recall something about WHQL drivers and DX triple buffering being a PITA, but I don't recall what it was, and I rarely if ever even use vsync at all. I think punkbuster has issues with DirectX tweaker too, so, its basically sucks for DX triple buffering support, which doesn't make alot of sense to me I guess.