Confused about VSync / Tripple Buffering

ex0du5

Gawd
Joined
Jun 26, 2007
Messages
873
Well I have some confusion here. I realise VSync with double buffering should add generally 1 frame of lag, if the framerate is kept above the monitor's refresh rate. Tripple buffering on the other hand, should add 2 frames of lag with the framerate above the monitor's refresh rate. Here's where my problem comes in.

Let's take the first game for example: Guitar Hero 3.

I was previously playing GH3 on my 7950GT. Without VSync on, the game ran at about 80fps or so. Turning VSync on added roughly 30ms of lag (as reported by the lag calibration tool). This is definitely higher than 1 frame (which should be roughly 17ms). Now, I upgraded to an 8800GT a month ago or so. Here's where things get wierd. With VSync on, the 8800GT adds about 65ms of lag! Lag has gone up with an increase in performance!

Same thing happens in Deus Ex. My performance in the game is so high, that the mouse lag is nearly unbearable.

Now, I have noticed that these 2 games have 1 thing in common: they behave improperly without VSync.

When turning off VSync in GH3, lag calibration goes so fast that it's unusable. Also, the flame effects render so fast that they're not very noticeable either. Clearly, this game was built to force VSync. Something similar happens in Deus Ex. Without VSync on in Deus Ex, the game runs so incredibly fast that's in unplayable.

What's so special about these 2 games as to add so much input delay while rendering quickly with VSync on? Also, why do these 2 games experience such problems when running without VSync?
 
How are you measuring this, out of curiosity? I'm interested in the tool you are using and how it comes up with the numbers...
 
How are you measuring this, out of curiosity? I'm interested in the tool you are using and how it comes up with the numbers...

The ms of lag in Guitar Hero come simply from the lag calibration tool.

And yeah, I know my GH well enough to set proper calibration...I've been playing GH for over a year now and I can get the sync pretty much perfect. The numbers, while not perfectly accurate, are at least an indicator that input lag seems to rise with the speed at which I'm rendering the game. I'm sure this is not the case with every game, but simply games that are designed to work with VSync forced on.
 
This smells of an AMD dual core processor not running the dual core patches/optimiser.
Timing problems can occur if the appropriate patch hasnt been installed and some games can run too fast.
 
Running an E6600 on an Asus P5B-E board. Maybe I'll try disabling the second core.

I've come up with a hypothesis. To me, it seems they are relying on the framerate for their "time" variable in the game, rather than relying on timers on the CPU. If for example, you're programming an animation, and make it go a certain speed "per frame" rather than a certain speed "per CPU timer cycle", then I guess your animation would be completely reliant on a framerate. When I was making simple animations in VB several years back, I never used timers for my animations, I just gave the objects a certain speed to be travelled per computation...because of this, it would run much faster on my speedy home PC compared to the PCs used at my school.
 
Back
Top