graphic card uses two buffers, one in which the image is calculated and another in which the image to be displayed is read. One image can only be displayed after being entirely calculated.
In Vsync OFF, when the graphic card has calculated the image in the buffer A, it directly inverts the A and B buffers, regardless of the eventuality that the buffer B was being read and about to be displayed. If this was the case, the image displayed would be half of the image n-1 and half of the image n. There are two different parts of the image and two different delays. Between two refreshing of the monitor several images might have been calculated if the graphic card and processors are very efficient. In this case, the delay coming from the graphic card is comprised between twice the image calculation time and one times the calculation time with a possible difference between the different pieces of the image displayed. It all depends on the power of the graphic card and processor.
In Vsync ON, this problem is avoided because the buffers A and B can be inverted only when the monitor has just been refreshed. When the graphic card has calculated the image in buffer A, it waits before reaching this point to invert buffers. Then buffer A becomes buffer B and vice versa. With a 60 Hz monitor, buffer B is read 60 times per second, but it doesn´t mean that it is updated 60 times per second! If the graphic card is still capable of calculating the image in less than 1/60th of second, it is perfect, the delay will always be 1/60th of a second. If the graphic card takes more time, it finishes the calculation after the monitor refreshment at the only moment when it can invert the buffer and will have to wait for the next refreshing. It means that the same image will be displayed two times. The first time, it will be 2/60th of a second late and the second time 3/60th of second. The problem is accentuated by the fact that the calculation time of an image is variable in the game and the delay can increase from 1/60th to 3/60th while the scene progresses. This can lead to a significant delay in addition to the framerate disruption. In Vsync ON, it is crucial to have a system capable of ensuring fps at least as high as the refreshing rate. We don´t decrease from 60 to 50 FPS but directly from 60 to 30 even if the average can mask it.
It is also helpful to understand that the game engine has a role to play and that triple buffering can reduce the shifting that happens in VSync ON at the expense of a higher generalised delay.
All this to say that you can complicate the calculation by changing the initial parameters. If you think this is fun, you can start all over again and estimate that the graphic card won´t sustain a framerate of 60 or 100 fps in the following examples. I took the first option.
Fonte: http://www.behardware.com
In Vsync OFF, when the graphic card has calculated the image in the buffer A, it directly inverts the A and B buffers, regardless of the eventuality that the buffer B was being read and about to be displayed. If this was the case, the image displayed would be half of the image n-1 and half of the image n. There are two different parts of the image and two different delays. Between two refreshing of the monitor several images might have been calculated if the graphic card and processors are very efficient. In this case, the delay coming from the graphic card is comprised between twice the image calculation time and one times the calculation time with a possible difference between the different pieces of the image displayed. It all depends on the power of the graphic card and processor.
In Vsync ON, this problem is avoided because the buffers A and B can be inverted only when the monitor has just been refreshed. When the graphic card has calculated the image in buffer A, it waits before reaching this point to invert buffers. Then buffer A becomes buffer B and vice versa. With a 60 Hz monitor, buffer B is read 60 times per second, but it doesn´t mean that it is updated 60 times per second! If the graphic card is still capable of calculating the image in less than 1/60th of second, it is perfect, the delay will always be 1/60th of a second. If the graphic card takes more time, it finishes the calculation after the monitor refreshment at the only moment when it can invert the buffer and will have to wait for the next refreshing. It means that the same image will be displayed two times. The first time, it will be 2/60th of a second late and the second time 3/60th of second. The problem is accentuated by the fact that the calculation time of an image is variable in the game and the delay can increase from 1/60th to 3/60th while the scene progresses. This can lead to a significant delay in addition to the framerate disruption. In Vsync ON, it is crucial to have a system capable of ensuring fps at least as high as the refreshing rate. We don´t decrease from 60 to 50 FPS but directly from 60 to 30 even if the average can mask it.
It is also helpful to understand that the game engine has a role to play and that triple buffering can reduce the shifting that happens in VSync ON at the expense of a higher generalised delay.
All this to say that you can complicate the calculation by changing the initial parameters. If you think this is fun, you can start all over again and estimate that the graphic card won´t sustain a framerate of 60 or 100 fps in the following examples. I took the first option.
Fonte: http://www.behardware.com