, Многие реализации только мультисэмплируют обратный буфер; передний буфер не является мультисэмплированным. Выполнение свопинга приведет к уменьшению выборки из буфера мультисэмплинга.
льку сегодняшние карты, кажется, хранят список команд рендеринга и сбрасываются только при вызовеglFlush
или жеglFinish
действительно ли нужна двойная буферизация? Игра OpenGL, которую я разрабатываю для Linux (Radeon-карта ATI Mobility) с SDL / OpenGL, на самом деле мерцает меньше, когдаSDL_GL_swapbuffers()
заменяетсяglFinish()
и сSDL_GL_SetAttribute(SDL_GL_DOUBLEBUFFER,0)
в коде инициализации. Это особый случай моей карты или такие вещи вероятны на всех картах?
РЕДАКТИРОВАТЬ: я обнаружил, что причиной этого является KWin. Похоже, что, как сказал datenwolf, композитинг без синхронизации был причиной. Когда я выключил композитинг KWin, игра отлично работает без каких-либо патчей исходного кода