OpenGL. При использовании DoubleBuffering происходит мерцание
Когда я включаю DoubleBuffering, начинается мерцание:
if (SDL_Init(SDL_INIT_VIDEO) != 0)
return EXIT_FAILURE;
SDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER, GL_TRUE);
window = SDL_CreateWindow("Test", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600,
SDL_WINDOW_SHOWN | SDL_WINDOW_OPENGL);
if (!window) return EXIT_FAILURE;
context = SDL_GL_CreateContext(window);
glClearColor(1.0f, 0.0f, 0.0f, 0.0f);
glClear(GL_COLOR_BUFFER_BIT);
glFlush();
SDL_GL_SwapWindow(window);
SDL_Delay(1000);
SDL_GL_DeleteContext(context);
SDL_Quit();
return EXIT_SUCCESS;
Интересно то, что если отключить DoubleBuffering, то всё работает правильно (Экран очищается красным цветом). Я запускал этот же код на своём старом ноуте, там всё отлично работает. На новом же, почему-то вот так.
EDIT 1: Вот, спустя день, я снова столкнулся с этим. И, опять же, странно, но если отключить аппаратное ускорение, то рендерит правильно и с включенным, и отключенным DoubleBuffer. С аппаратным ускорением же, почему-то нормально только с отключенным DoubleBuffer.
EDIT 2: Попробовал запустить на дискретке(nvidia gtx 1660 ti), всё работает отлично.. то-есть проблема только с интегрированной видеокартой (Intel UHD).
