Qt QApplication framerate drop when maximizing window
Asked Answered
L

0

2

We are using Qt for a visualization engine viewer, and we are having issues with the QApplication::processEvents() method. Since we needed to control the framerate (in a game loop fashion), we overrided the QApplication to define our own and our game loop that looks like

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

This works fine, timing are about 0.001s for the processEvents() call, while, for an empty scene, the doFrame() takes about 0.0001s. Now, we have a problem when we double click on title bar (to maximize the window). Indeed, after doing that, processEvents() call, goes from about 0.001s to about 0.01s (*10). Most of the time seems to be taken in QPlatformBackingStore::composeAndFlush()

The viewer used is based on QOpenGLWidget, and all the rendering is done outside of Qt (we are writing in the Qt FBO).

Please note that we are not overriding QApplication::processEvents().

Thanks

Luthanen answered 23/3, 2016 at 14:54 Comment(1)
The example is based on an incorrect assumption that the spin rate is stable to some degree which is wrong.Clothes

© 2022 - 2024 — McMap. All rights reserved.