我正在开发:Windows 10 Pro 64位,Visual Studio 2015,OpenGL,GLFW
我编写的软件可以在全屏模式下将视频呈现给辅助显示器。第一次编译和运行代码时,它将以帧速率渲染,大约超过200 FPS。有时我可以停止并重新运行相同的可执行文件(从Windows资源管理器或直接从Visual Studio中),并报告相同的帧速率。但是,莫名其妙地,我将运行它,帧速率降至约60 FPS。
我知道这似乎是一个vsync问题。但我渲染的辅助监视器的刷新率为120 Hz。此外,我从get-go设置glfwSwapInterval(0),这应该使软件独立于vsync信号运行。 (我真的希望以尽可能快的帧速率渲染< =但重复这样做......最终,我计划实现自己的“睡眠”或“等待”功能以减慢速度但是,现在,我只需要获得一致的帧性能。)
在我看来,这取决于操作系统。所以我下载了系统资源管理器软件,并将此软件的优先级设置为“实时”和“真实时间”。但这似乎没有解决问题。
什么可能导致此帧从每帧不到5毫秒减速到超过16毫秒?如何让我的软件不受操作系统的影响?