Есть причина, по которой нелегко найти кроссплатформенное решение. Платформа в конечном итоге владеет дисплеем (и режимом обмена). Так что это обязательно является частью API платформы (если выставлено). Не может быть кросс-платформенного решения. Даже у glew есть некоторые специфичные для платформы биты, когда дело доходит до взаимодействия с платформой.
Теперь вы можете утверждать, что все платформы должны использовать один и тот же API для этого конкретного бита их интерфейса, но я сомневаюсь, что вы получите от них какую-то поддержку.
Последнее, не все кадровые буферы отображаются напрямую. Если вы используете систему управления окнами, которая фактически смешивает пиксели кадрового буфера с рабочим столом (как это делает Aero, когда активен), то вы все равно не сможете контролировать поведение подкачки.
Для справки, различные API для этого на основных платформах:
- wglSwapIntervalEXT
- glXSwapIntervalSGI
- AGLSetInteger