最大化窗口

时间:2016-03-23 14:54:16

标签: c++ qt opengl qapplication qtopengl

我们正在将Qt用于可视化引擎查看器,我们遇到了QApplication::processEvents()方法的问题。 由于我们需要控制帧速率(以游戏循环方式),我们重写了QApplication以定义我们自己和我们的游戏循环看起来像

MainApplication app;
// Some code here
while (true) {
    app.processEvents();
    app.doFrame();
    // sync code, nothing for now
}

这很好,processEvents()调用的时间约为0.001秒,而对于空场景,doFrame()需要大约0.0001秒。 现在,当我们双击标题栏(以最大化窗口)时,我们遇到了问题。事实上,在这样做之后processEvents()召唤,从大约0.001s到大约0.01s(* 10)。大部分时间似乎都是在QPlatformBackingStore::composeAndFlush()

中进行的

使用的查看器基于QOpenGLWidget,所有渲染都在Qt之外完成(我们在Qt FBO中编写)。

请注意,我们并未覆盖QApplication::processEvents()

由于

0 个答案:

没有答案