[Solved] OpenGL Screen Update Too Slow (1 FPS!) is this a bug?



  • I am having some trouble with getting a Qt5 OpenGL update loop that runs at any reasonable rate.

    I have a widget embedded in a window that is, currently showing a texture. The add noise function fills the texture with a solid color.

    The FPS I am getting is about 1 frame per second.

    Does anybody have any suggestions for how to force Qt5 to update the OpenGL widget more often? Any code to post on how to this the right way?

    @GLWidget::GLWidget(QWidget *parent) : QGLWidget(QGLFormat(QGL::SampleBuffers), parent)
    {
    setAutoFillBackground(false);
    connect(&aTimer,SIGNAL(timeout()),this,SLOT(animate()));
    aTimer.start(100);
    }

    void GLWidget::animate()
    {
    //Logic for every time step
    addNoise();
    updateGL();
    }@

    I have also tried to call the update from the parent but I am experience a similar effect, specifically that it is not possible to set a QTimer for less than about 1 second. On the same machine windows native multimedia timers operate with 1 ms or better precision.

    When I have an @update@ command my window becomes unresponsive, but I can still see the frames updating and they are still not updating fast enough!
    @void GLWidget::paintGL()
    {
    //
    update();
    }@

    Is their some intrinsic limitation on the update rate? Does Qt ignore updates?

    I have also posted a public repo at
    @git clone https://bitbucket.org/FunFarm/qtcapturesoftware.git@




Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.