SDL_GL_SwapWindow 第三次调用时崩溃

SDL_GL_SwapWindow crashes upon third call

我制作了一个非常基本的 SDL 应用程序,该应用程序在主循环中进行了几次迭代,但随后崩溃了。我已经找到错误在于 SDL_GL_SwapWindow,前两次有效,然后崩溃。这是我实际尝试过的非常简化的版本,它做了同样的事情。

SDL_Init(SDL_INIT_EVERYTHING);
SDL_Window* SDLWindow = SDL_CreateWindow("Balls", SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED, 800, 600, SDL_WINDOW_OPENGL | SDL_WINDOW_SHOWN);
SDL_GLContext SDLGLContext = SDL_GL_CreateContext(SDLWindow);
glewInit();

glViewport(0, 0, 800, 600);

SDL_GL_SwapWindow(SDLWindow);
SDL_GL_SwapWindow(SDLWindow);
SDL_GL_SwapWindow(SDLWindow); //crashes here

return 0;

前两个调用工作正常,第三个调用程序崩溃。 St运行gely,崩溃发生在igd10umd32.dll 并且调试器不允许我读取该文件。我在互联网上查了一下,但没有尝试修复图书馆。另外,如果是这个库的问题,在这种st运行ge条件下应该不会出现。

更奇怪的是,该程序在我的第二台笔记本电脑上运行良好。当我在那里编译它并 运行 在这台笔记本电脑上时,它也工作正常。

我正在使用 Windows 10。我用 SDL/OpenGL 工作过很多次,从来没有遇到过这样的事情。有什么想法可能导致这种非常混乱的行为吗?

已解决。这只不过是一个 NVIDIA 错误。更新驱动程序解决了所有问题。