Texturing Performance

Blitz3D Forums/Blitz3D Programming/Texturing Performance

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.


The problem is that i get suddenly the half at some points.



Well this is exactly what happens if you have vsync on... if it can't draw everything in one refresh then it have to wait another. Experiment with Vsync OFF and you'll see much dramatic steps in fps although you might get little tearing.


0---------10--------20--------30
0--3_______--3_______--3

V-Sync prevents a new frame being rendered and copied into buffer B until the next refresh of the monitor is executed. Another example:

0---------10--------20--------30
0-------8__-------8__-------8

No problem. Now to the bad part (FPS < RR):

0---------10--------20--------30--------40
0------------13_______------------13_______

After 10 msecs buffer B doesn't have the latest frame since still more 3 msecs have to pass until it is being drawn in buffer A. for the 20 msecs timestamp it is available and then the process repeates itself. That means every 20 msecs a new frame is ready which is a drop to 50 fps of what you'll get! If rendering would take 21 msecs we'd be down to 33 fps.

These fluctuations are the big disadvantage of V-Sync and the reason why most people don't use it. (Of course there are FPS fluctuations without it as well but not that dramatically).



http://www.esreality.com/?a=longpost&id=522789&page=3