Is D3DOverrider recommended over in-game options?

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
Do you use D3DOverrider for vsync and triple buffering, or simply use in-game options? I was using this app for both, and in many cases leaving vsync on ingame as well and didn't seem to have any issues. AFAIK this is the only way to enable triple buffering for many games.
 

Tempered81

Diamond Member
Jan 29, 2007
6,374
1
81
I used to use it to force vsync in a few games where i couldnt do it via the driver control panel or in-game menu.
 

Scali

Banned
Dec 3, 2004
2,495
0
0
If the game offers the options you want, it is generally best to use the in-game options, as they will be guaranteed to work correctly and are optimized for best performance.
Using something like D3DOverrider or control panel settings will bruteforce these settings throughout the application, which may result in reduced performance and rendering errors.
 

Attic

Diamond Member
Jan 9, 2010
4,282
2
76
i've always had really good experience with D3DOverrider. For me it's been guarunteed to get vsync working when other methods fail.

I almost always use Vysnc. I keep vsync off in CP and in game and have D3DOverrider set to start with windows.
 
Last edited:

evolucion8

Platinum Member
Jun 17, 2005
2,867
3
81
D3DOverrider is one of the best option for Triple Buffering (Specially for multi-GPU setups like mine) RadeonPRO tool also works nicely.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
NV drivers have no triple buffering support. AMD followed MS's guidelines (NV's method is a hack like D3DOverrider).

It's unwise to use vsync without triple buffering. So you have to use something like D3DOverrider regardless with Nvidia hardware, (most games that have no vsync option also have no triple buffering option).. but with NV you just have to remember to use BOTH applications to get the job done.
 

Scali

Banned
Dec 3, 2004
2,495
0
0
NV drivers have no triple buffering support. AMD followed MS's guidelines (NV's method is a hack like D3DOverrider).

Sorry, but that's just absolute nonsense.
D3D doesn't have specific 'double-buffering' or 'triple-buffering' modes. What D3D has is a swap chain. You can insert as many surfaces into the swap chain as you want, up to D3DPRESENT_BACK_BUFFERS_MAX (which is 3 in XP, so quad-buffering, and 30 in Vista/7), so any driver that supports D3D, will support double-buffering, triple-buffering, quad-buffering, and whatever else you can think of... although beyond triple buffering, there is no benefit anymore.
See also: http://msdn.microsoft.com/en-us/library/bb173393(v=VS.85).aspx
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
It's not nonsense, what I wrote was a little unclear. What I meant was that regarding triple buffering, neither driver has an option to force D3D triple buffering in-game.
 

Scali

Banned
Dec 3, 2004
2,495
0
0
It's not nonsense, what I wrote was a little unclear. What I meant was that regarding triple buffering, neither driver has an option to force D3D triple buffering in-game.

Ofcourse they don't, that's because of how D3D is set up, as I explained...
The code needs to specifically create a swap chain with two backbuffers. This implies that the code also knows how to handle this.
With OpenGL things work very differently, so forcing triple buffering from the outside is much easier and less error-prone than in D3D.
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
Ofcourse they don't, that's because of how D3D is set up, as I explained...
The code needs to specifically create a swap chain with two backbuffers. This implies that the code also knows how to handle this.
With OpenGL things work very differently, so forcing triple buffering from the outside is much easier and less error-prone than in D3D.

Wait, you lost me. You said in your first comment that any driver can do it, up to x-buffering.

Now you're saying it doesn't do it, look at your other post why.

Huh? I'd prefer to run Triple Buffering through the driver/game than a third party function - if it's so easy why isn't it already an option in the driver set (for either side?)
 

Scali

Banned
Dec 3, 2004
2,495
0
0
Wait, you lost me. You said in your first comment that any driver can do it, up to x-buffering.

Triple buffering requires application support.
The driver can do it, if the application requests so.
Forcing it outside of the application is very error-prone, since in D3D, you can access the swap chain directly, and manipulate the surfaces.
If your application expects one backbuffer, but some hack forced two backbuffers instead, you may be accessing the wrong buffer, and everything falls apart.
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
Triple buffering requires application support.
The driver can do it, if the application requests so.
Forcing it outside of the application is very error-prone, since in D3D, you can access the swap chain directly, and manipulate the surfaces.
If your application expects one backbuffer, but some hack forced two backbuffers instead, you may be accessing the wrong buffer, and everything falls apart.

So, essentially it is easy to implement on the developer side (of games.)

But back to why isn't it supported through the driver set like other foreceable functions?

Just curious.
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
I've been curious about this for some time as well railven. I've been wondering why the vsync + triple buffering in D3DOverrider isn't in both driver sets (personally, I have little interest in vsync for fast action games without triple buffering so NV's added hack doesn't amount to much for me).
If vsync doesn't work in the driver options (on the AMD side), and it's a hack on NV's side (with both left with no forceful D3D triple buffering), my question would be why not remove both options in both vendors driver options to eliminate confusion? Some users WILL use the driver options instead of the game options everytime.

With the amount of fanboyism that goes around regarding small features, having both of these integrated into driver sets would help a lot, see this thread for a perfect example when the mention of vsync in NV drivers spurred a circle jerk. Though I'd argue these are not small features, these put the IQ of a PC game on level with the fluidity and solid imaging that consoles have by default.

If PC games are tearing, then when vsync enabled, stuttering (without triple buffering), it doesn't look good and adds trouble to the user experience in a platform that has traditionally fought to stay relevant.

It is true that in-game IQ options are almost always best over driver options, which is why I don't change anything in CCC and forgo D3DOverrider in general.
 
Last edited:

Scali

Banned
Dec 3, 2004
2,495
0
0
But back to why isn't it supported through the driver set like other foreceable functions?

Just curious.

As I already said multiple times, it's very difficult and error-prone to try and force it without the application knowing about it.
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
As I already said multiple times, it's very difficult and error-prone to try and force it without the application knowing about it.

So you're saying a program like D3D Overrider is "very difficult and error-prone?"

I can't remember having D3D Overrider crash any of my games or create visual anamolies. In fact, I can't play certain games without it since the game doesn't allow the option, the driver set doesn't and for some reason the game is a torn mess due to poor driver optimization (ATI I'm looking at you!)
 

Obsoleet

Platinum Member
Oct 2, 2007
2,181
1
0
While troubleshooting an issue with D3DOverrider has no solution other than disable it.. I haven't seen any issues with it in my use of it.

With the multitude of video options, and generally stuff I don't need at all, to put vsync + triple buffering in an advanced tab would make sense (and to hide both of these from a basic view as it is true in-game is best).
 

Dankk

Diamond Member
Jul 7, 2008
5,558
25
91
D3D Overrider can definitely make your games look better, although I only really use it for when I really want to use vsync, and the in-game setting for vsync makes the game laggy. So, turn off vsync in-game, then turn on D3D Overrider. Triple-buffering to the rescue! Works beautifully. :thumbsup:
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
Easy to override settings, difficult to avoid issues.

So again my stupid question - why isn't it in the driver set as an option?

There are already foreceable options that may negatively impact gaming IQ. (Occulsion for starters, in some games I noticed it hurts IQ)

Just throw a disclaimer on it and call it a day haha.
 

Scali

Banned
Dec 3, 2004
2,495
0
0
So again my stupid question - why isn't it in the driver set as an option?

What are you talking about anyway? The nVidia drivers? Why would nVidia include such an error-prone option? It's something that the application should handle. ATi doesn't offer it for D3D either, afaik.
 

railven

Diamond Member
Mar 25, 2010
6,604
561
126
What are you talking about anyway? The nVidia drivers? Why would nVidia include such an error-prone option? It's something that the application should handle. ATi doesn't offer it for D3D either, afaik.

Haha, rather then to keep this going nevermind. I shouldn't expect you to know the answer to my question since you don't work for either company.
 

arredondo

Senior member
Sep 17, 2004
841
37
91
Microsoft doesn't allow fiddling with Direct3D in that way. That's why cards only have a 3x buffering option for OpenGL. If you want that feature for Direct3D games, you cave to turn on v-synch and use a program like D3DOverrider.