BackBufferCount
This value can be 0 (or 1, 0 is treated as 1), 2, or 3. If the number of back buffers cannot be created, the runtime will fail the method call and fill this value with the number of back buffers that could be created. As a result, an application can call the method twice with the same D3DPRESENT_PARAMETERS structure and expect it to work the second time.
The method fails if one back buffer cannot be created. The value of BackBufferCount influences what set of swap effects are allowed. Specifically, any D3DSWAPEFFECT_COPY swap effect requires that there be exactly one back buffer.
kyleb said:Any chance that "0 is treated as 1" is only referring to certain drivers; as in, DirectX will simply pass the 0 value on to the drivers and they choose to use 1 backbuffer? I am curious because I have come across many D3D games where I get hash framerate transitions of double buffering on my Geforce, but not with my Radeon. However, a few games give me harsh transitioning of framerate on both my Geforce and my Radeon; so it would make sense that those games set BackBufferCount to 1 while the many games that don't behave the same on both cards have the setting at 0, eh?
kyleb said:Any chance that "0 is treated as 1" is only referring to certain drivers; as in, DirectX will simply pass the 0 value on to the drivers and they choose to use 1 backbuffer?
kyleb said:Fair enough, so it obviously not triple buffering I am seeing. However, does anyone have any idea why in so many games, most recently Fable, my Geforce gives me drops form my 60hz refresh straight to 30fps and then directly to 20fps, yet with my Radeon it feels smoother and with FRAPS I see the framerate often wind up somwhere inbetween the normal 1, 1/2, 1/3 the refresh rate as I would expect with only double buffering?