SDL OpenGL Alt-tab в полноэкранном режиме дает непредсказуемые результаты

Я пишу игру на C ++, используя SDL 1.2.14 и связанные с ним привязки OpenGL.

Однако, если игра находится в полноэкранном режиме и я Alt - Вкладка обратно в игру, результаты непредсказуемы. Логика игры все еще работает. Однако рендеринг останавливается. Я вижу только последний кадр игры, который был нарисован перед Alt-tab

. Я обязательно повторно инициализировал контекст OpenGL и перезагрузил все текстуры, когда я получаю событие SDL_APPACTIVE = 1 и это, похоже, работает только для одной Alt - Tab , тогда все последующие Alt - Tab прекратят рендеринг (я убедился, что SDL_APPACTIVE правильно обрабатывается каждый раз и соответственно устанавливает контекст.)

Я бы рискнул предположить, что SDL делает что-то под капотом при сворачивании приложения, о котором я не знаю.

Есть идеи?

17
задан NIMISHAN 2 October 2018 в 06:20
поделиться