问题描述
Qt5允许使用QSurfaceFormat::setSwapInterval
,它使应用程序可以决定是否启用VSync。但是,只有在启动应用程序(例如,要禁用VSync,只需在创建应用程序对象之前调用以下命令即可:
QSurfaceFormat format;
format.setSwapInterval(0);
QSurfaceFormat::setDefaultFormat(format);
通过在Qt场景图使用的Opengl上下文中将交换间隔设置为零,以上代码将在Qt Quick应用程序中禁用VSync。但是,我希望有可能在需要时(不只是在QML引擎启动之前)在运行时禁用和启用VSync,如下所示:
void toggleVSync(){...}
环顾四周我并没有发现任何东西,所以我想知道是否有办法实现这一目标。