全屏显示的SDL OpenGL Alt-tab导致了不可预测的结果

|| 我正在使用SDL 1.2.14及其附带的OpenGL绑定以C ++编写游戏。 但是,如果游戏是全屏模式,并且我按住Alt键-跳出然后返回游戏,结果将是不可预测的。游戏逻辑仍然运行。但是,渲染停止。我只看到在Alt键之前绘制的游戏的最后一帧 我已确保在收到
SDL_APPACTIVE = 1
事件时重新初始化OpenGL上下文并重新加载所有纹理,而这似乎仅适用于一个Alt-Tab,然后所有后续的Alt-Tab将停止渲染(我已经完成了确保每次正确处理
SDL_APPACTIVE
并相应地设置上下文。) 我可能会猜测,当最小化我不知道的应用程序时,SDL会在后台进行某些操作。 有任何想法吗?     
已邀请:
        当它失去焦点时,“减速”全屏应用程序是一个很好的实践。两个原因: 用户可能需要Alt-Tab并做一些重要的事情(例如关闭占用大量资源的繁重应用程序)。当他切换时,新应用程序将获得控制权,并且操作系统必须根据需要从您的应用程序中释放资源 现代操作系统使用大量GPU-这意味着它需要释放一些图形内存才能工作。 尝试在APPACTIVE = 0时关闭您使用的所有GL资源,然后在APPACTIVE = 1上再次分配它们。如果解决了,那就是“您的错”。如果不能解决,则为SDL(或GL或OS)错误。 编辑:s / SO / OS / g     

要回复问题请先登录注册