Confusion About Vsync and Triple Buffering (please help!)


#1

Okay so here is the thing that I can’t seem to figure out. I have vsync tuned on through the in game graphics options. When I run a benchmark with vsync turned on I get a result of 71-73 fps. I find that weird because what I know of vsync, when it is turned on the framerate can’t run higher than the refresh rate. My monitors refresh rate is only 60hz. I know that vsync is actually running because when I turn it off I get really noticeable tearing.

When I enable triple buffering through D3DOverrider along with the ingame vsync and run the benchmark my framerate is locked at exactly 60 fps. Could someone please explain to me what is going on here.

First- How is it possible that I am getting 73 fps with vsync turned on with a 60 hz monitor?

Second- Why does enabling Triple Buffering w/vsync lock the framerate at 60 fps, while vsync benchmarks at 71-73fps. ?

If it helps I am running the game with a Radeon HD 4850 at my displays native 1920x1200 resolution. When I am actually playing in game the frame stays at 60 fps, I assume that is because I choose the fixed frame rate option.


#2

Well, I would assume V-Sync is temporarily disabled while the benchmark runs, to give you an idea of precisely how many frames your PC can run. If you are getting well over 60fps, you then know you have the freedom to up your anti-aliasing, textures and stage details. I get around 160fps on average for the benchmark, while I have V-Sync switched on.

Using some third-party app will ignore this and just set everything to 60fps. Not useful if you would like to know just how pretty you can make the game, while maintaining constant 60fps.

But whatever the case, this isn’t something to be worried about at all.


#3

So you are saying Vsync is disabled in the benchmark? Is there anyone else here who can confirm that?

To reiterate, in game always runs at 60 fps (vsync, fixed frame rate). When I do a benchmark with those same setting I get like 71-76 fps. When I turn off vsync in game the tearing is very obvious. That lets me know for certain that when I turn off in game vsync and use D3Doverrider’s vsync that it works (if it wasn’t working I would be getting tearing galore). Based on what I have been lead to believe the vsync through D3Doverrider should work the same as the ingame vsync, but it doesn’t. Running a benchmark with the D3Do vsync it is steady at 60fps. That seems to give credibility to the claim that the benchmark mode disabled ingame vsync, but when vsync is set from outside the program it still runs.

One thing that confuses me still is that when I run the benchmark with in game vsync on (the one that is supposedly disabled in the benchmark) I don’t see any tearing.

And one last somewhat off topic question. D3Doverrider has two options. Force Vsync and Force Triple Buffering. When I have the vsync off in the game and off in D3Do, and only force triple buffering enabled I have no tearing in the game. It is as if I have vsync turned on, but I don’t. I don’t know why that is. Also something I read on other message boards comes to mind. I have heard it said that Triple Buffering are one in the same. Does that mean if you have triple buffering on, vsync is automatically on as well? And if that is the case, why does D3Doverrider have the option to turn them on separately. If triple buffering automatically enables vsync it makes no sense to have a program with the option to turn them on independently.

Can anyone make some sense of these technically questions for me?
Thanks in advance, good karma will come your way.


#4

Buy an Xbox, another problem solved… no need to thank me.


#5

First of all, forcing vsync from Catalyst Control Center doesn’t work all the times. You experienced that by deactivating vsync in game options and still noticed tearing during gameplay. D3Doverrider literally overrides any application setting. So if you set Vsync ON in game, the benchmark disabled that to allow max framerate measurement, and then reactivates whenever you play; D3Doverrider ignores these parameters and just forces vsync ON at application startup.

Plus, the triplebuffering forcing method used by D3DOverrider doesn’t discard frames, but queues them, so essentially is not a good answer to input lag. If you set fixed frames in the game options, the engine will try to always run at 60fps (or less) so there’s a FPS limit in place that helps mantaining lag at a minimum.

It is said that Vsync ingame actually increases input lag, so what you can try is to disable it from the game options and activate it in D3Doverrider WITHOUT the Triplebuffering flag, and test accordingly.

Hope this helps.