How does an OpenGL application with double buffering achieve more than 60 fps (dislay refresh limit)?
Does it depend on driver implementation, namely whether it uses double or tripple buffering?
Consider next application main loop:
while (1) {
draw_scene();
swap_buffers();
}
The second statement in the loop is mandatory if I don't use some fancy synchronization with display vsync and don't want to tearings when displaying images. With such a loop my fps is correlated with driver implementation: with double buffering the pipeline would stall and I archive about 60 fps while with tripple buffrering no stall would occur and my fps depend only on my videocard throughput. So if there is a need to archive high fps opengl application I should have tripple buffering implementation inside application. Am I right?