The Meaning Of 'Flip At Vertical Retrace' Or 'VSYNC'
Matrox was the first company that included a feature in their good old Mystique, which enabled the switch to a new frame before the previous frame was displayed completely at the CRT screen. This caused a lot of anger within the competitors, because Microsoft's DirectX specification did and still does not allow this feature, because it can cause ugly tearing. On the other hand it can increase the average frame rate score of a 3D card by a fair amount. Last year there were still a lot of 3D chips which would not include this feature, as e.g. NVIDIA's RIVA 128, before it became common that everybody was benchmarking 3D cards with games. Today the 'Disable VSYNC' feature can be found in the drivers of every 3D chip out there and it's time to wonder if this is only done for benchmarking or if it can improve performance in a normal environment as well.
When looking at it from a theoretical point of view, it seems clear that nobody would need 'Disable VSYNC' for normal game play, because there's certainly no point of drawing new frames to the screen more often than the monitor refresh rate. The lowest monitor refresh rate today is 60 Hz and the human eye only needs 25 pictures/second to get the impression of a smooth movement, so even the limit to 60 pictures/s ('VSYNC endabled') would be way higher than what a human eye requires. This means that in theory people who are using Microsoft approved 'WHQL' drivers, which do not include the 'disable VSYNC' feature, shouldn't have to worry about a noticeable performance disadvantage. An editor from the German PC Professionell is even benchmarking with 'VSYNC enabled', because he says that this is the way people are using the cards in reality. Of course the frame rate can never exceed the refresh rate in this case, thus lowering the 'average frame rate' result.
When I was running my tests with this new little software, I was running some benchmarks with 'VSYNC enabled' as well. You would expect the same graph as with 'VSYNC disabled', only the peaks clipped at refresh rate. However, the situation is rather different, as the graph below shows. The frame rate is not only clipped at 85 fps, according to the refresh rate of 85 Hz, but also at the next lower frame rate of actually 42.5 fps, which is half the refresh rate. It seems that with 'VSYNC enabled' in some games the 3D card can either draw at refresh rate or at half or a third or quarter of the refresh rate only. This would mean that a new frame is only drawn either at every refresh or at every second or third refresh only, not any time in between.
As you can imagine, 'VSYNC enabled' can have quite a significant performance impact. It means that with 'VSYNC enabled' the card may not ever draw a picture every refresh, but only every second refresh, limiting the frame rate not to the refresh, but to half the refresh rate. A good example is Expendable running at 1024x768 on Banshee. You can see that the frame rate is clipped at 42.5 Hz, although you wouldn't expect any clipping at all, since the frame rate with 'VSYNC disabled' is never reaching 85 fps and should thus stay untouched by the VSYNC issue.
We should come to the following conclusion. Benchmarking should by all means be done with 'VSYNC disabled', and it seems also advisable to disable VSYNC even for normal game play.