If you've followed my blogs much, you know that I'm a big fan of a little-known utility called DirectX Tweaker. I consider this to be an absolutely essential download for any PC gamer, as it has a drastic impact on the performance and visual quality of games.
This all has to do with VSync and a feature called triple buffering. We're all familiar with the phenomenon of "tearing" in videogames. It essentially happens when frames are being sent at an asynchronous rate with the monitor. The result looks something like this simulated picture.
VSync is an option in which the graphics card times the display of the frame with the monitor's refresh rate. However, VSync can cause a significant drop in performance, for a simple reason. Say you have your monitor's refresh rate set at 60hz. The card generates frames and sends them to the frame buffer. There are always two frames in the frame buffer – the frame being displayed (the front buffer), and the next rendered frame (the back buffer). This is called a double buffer. Now, when VSync is enable, before the card can swap the frame buffers, it has to wait for the next Vertical Blanking Interval on the monitor – at 60hz, that occurs every 1/60th of a second. If your card is able to render 60 or more frames per second in the game, everything will look great. But if the game is too graphically intensive for the card to render that many frames, a Vertical Blanking Interval will come, and the frame will not be ready. The result is that the card has to wait another 1/60th of a second to display the next frame. The real-world effect is that your frame rate gets cut from 60 to 30.
Triple buffering adds a third frame in the buffer, so when the vertical blanking interval is ready, there's always a frame to display. The effect is that when triple buffering is enabled, you can get the high image quality of VSync without sacrificing frame rates.
Triple buffering, however, cannot be forced in DirectX games without the use of DirectX Tweaker (it can be enabled in OpenGL games via the nVidia control panel under "3D Settings"). When I discovered DirectX Tweaker, it was a revelation. I can tell you unequivocally that the image quality improvement is HUGE. I also believe that those who say "Gee, I never really notice image tearing" are simply people who haven't seen the other side of the fence. The difference is quite significant.
But, I called this post the SLI conundrum, and here's where it gets messy. Whether it's a driver issue or a hardware issue, I do not know; but for whatever reason, triple buffering simply cannot work with SLI systems. SLI systems can net a significant increase in frame rates in many games. But unfortunately, you will have to choose between the high frame rates of dual-graphics cards and the drastically superior image quality that triple buffering offers.
This may seem like a minor quip to some, but it's enough to convince me that SLI is just not worth the money. I often find myself disabling the second video card just so I can run DirectX Tweaker and get rid of the screen tearing. It's quite disappointing to spend hundreds of dollars on a dual graphics card setup only to find that you have to choose between having image tearing or being locked at 30 frames per second. I'm still trying to sell my current rig, and still planning my next; the new generation of graphics cards are much more powerful than I had anticipated – nVidia's 8800GTX is a huge leap over the 7900GTX (more than double the power, and with far superior image quality), and I'm sure ATI's forthcoming card will be a monster as well. For those reasons, I believe that the best current option for gamers is to simply buy the best single card you can afford.
Then download DirectX Tweaker. Enabling triple buffering is very easy, and the improvement in the image quality is fantastic. In case the point hasn't been driven home yet – it's essential!












