如何像pygame一样限制sdl2 fps

Tho*_*mas 5 c c++ sdl-2

当我写我的 SDL2 OpenGL 程序时有点像这样(使用 VSync):

SDL_GL_SetSwapInterval(1);
while(isRunning)
{
    while(SDL_PollEvent(&e))
    {
        if(e.type == SDL_Quit)
        {
            isRunning = false;
        }
    }
    SDL_GL_SwapWindow(window);
}
Run Code Online (Sandbox Code Playgroud)

对于这个实际上什么都不做的程序,我的 CPU 使用率高达 39%-50%

而当我在计算时差后通过睡眠时间SDL_Delay()使我的程序完全冻结并出现“无响应”时。

我不想使用,SDL_WaitEvent()因为我的程序将显示无论输入事件如何都会运行的动画。

是否有任何等效于 pygame 的既不阻止输入也不阻止视频线程的东西

fpsClock = pygame.time.Clock()
while(True):
    pygame.display.update()
    fpsClock.tick(60)
Run Code Online (Sandbox Code Playgroud)