具有双缓冲的 OpenGL 应用程序如何实现超过 60 fps(显示刷新限制)?
它是否取决于驱动程序的实现,即它是使用双缓冲还是三重缓冲?
考虑下一个应用程序主循环:
while (1) {
draw_scene();
swap_buffers();
}
如果我不使用显示 vsync 的花哨同步并且不想在显示图像时撕裂,则循环中的第二个语句是强制性的。通过这样的循环,我的 fps 与驱动程序实现相关:使用双缓冲,管道会停止,我存档大约 60 fps,而使用三重缓冲不会发生停止,我的 fps 仅取决于我的视频卡吞吐量。因此,如果需要归档高 fps opengl 应用程序,我应该在应用程序内实现三重缓冲。我对吗?