Some graphic cards enable OpenGL setting named buffer-flipping mode
with the options: block transfer / page flip / Auto-select.
It sounds to me like HW methods for buffer swaping, but I’m not sure.
(1) I want to know what exactly buffer flipping refers to,and what is the effect of each option (block transfer / page flip).
(2) Is there a way to change those settings through code ? (openGL or other API)
Yes, these apply to double buffering.
Block transfer refers to some hardware method for doing copy as is my understanding, so that word is not right. It’s just called copying.
Buffer flipping is done by the graphics card just changing a pointer to the buffers which is obviously much faster.
The mode depends on the pixel format you choose.
For Windows, it’s through the ChoosePixelFormat/SetPixelFormat
and GLX has it’s own method.
You can also use WGL_ARB_pixel_format extension(WGL_SWAP_METHOD_ARB)
Usually windowed mode gets copy and fullscreen can get copy or swap.
Block Transfer is not a wrong term, it’s the “Blt” in BitBlt, which means a copy operation here, but can do more.
If you want to have a pixelformat which can do SwapBuffers with a page flip, you must request a PFD_SWAP_EXCHANGE pixelformat.
Not all implementations support that in a window, workstation class boards normally do.