Обычно я создаю формат пикселей, используя wglChoosePixelFormatARB()
со следующими аргументами (среди прочего):
WGL_DOUBLE_BUFFER_ARB = GL_TRUE
WGL_SAMPLE_BUFFERS_ARB = GL_TRUE
WGL_SAMPLES_ARB = 4
то есть включена двойная буферизация и мультисэмплинг x4. Это прекрасно работает.
Но когда я пытаюсь отключить двойную буферизацию:
WGL_DOUBLE_BUFFER_ARB = GL_FALSE
WGL_SAMPLE_BUFFERS_ARB = GL_TRUE
WGL_SAMPLES_ARB = 4
Вызов wglChoosePixelFormatARB()
терпит неудачу (или, скорее, указывает, что он ничего не создал)
Когда я эффективно отключаю мультисэмплинг:
WGL_DOUBLE_BUFFER_ARB = GL_FALSE
WGL_SAMPLE_BUFFERS_ARB = GL_TRUE
WGL_SAMPLES_ARB = 1
Я снова нормально работаю.
Есть ли что-то, что мешает формату пикселей без двойной буферизации работать с мультисэмплингом?
Причина, по которой я отключаю двойную буферизацию, заключается в достижении неограниченной частоты кадров. с двойной буферизацией частота кадров, которую я получаю, составляет всего до 60 кадров в секунду (этот ЖК-дисплей ноутбука работает на частоте 60 Гц). Но с отключенной двойной буферизацией я могу получить до 1500 FPS. Есть ли способ добиться этого с двойной буферизацией?