如何在运行时在Qt应用程序中动态切换VSync?

Qt5允许使用QSurfaceFormat::setSwapInterval,它使应用程序可以决定是否启用VSync。但是,只有在启动应用程序(例如,要禁用VSync,只需在创建应用程序对象之前调用以下命令即可:

QSurfaceFormat format;
format.setSwapInterval(0);
QSurfaceFormat::setDefaultFormat(format);

通过在Qt场景图使用的Opengl上下文中将交换间隔设置为零,以上代码将在Qt Quick应用程序中禁用VSync。但是,我希望有可能在需要时(不只是在QML引擎启动之前)在运行时禁用和启用VSync,如下所示:

void toggleVSync(){...}

环顾四周我并没有发现任何东西,所以我想知道是否有办法实现这一目标。

iCMS 回答:如何在运行时在Qt应用程序中动态切换VSync?

将功能自己获取与平台相关的交换控制扩展功能,请随您的喜好:

本文链接:https://www.f2er.com/1723222.html

大家都在问