Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-55521

QSGWindowsRenderLoop breaks all animations

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.9.0
    • 5.6.0, 5.7.0
    • None
    • Windows 10, Windows 7

    Description

      Attached is a very small demonstration program. It is simply a QPropertyAnimation that is animating the opacity of a QMainWindow. When you press the button it creates a QQuickWindow (just creates it) - doing this breaks any animation such that they no longer progress.

      The reason this happens is that the QQuickWindow constructor calls through to :

      QSGRenderLoop *QSGRenderLoop::instance()
      

      which decides it's best to use QSGWindowsRenderLoop (due to the QCoreApplication::setAttribute(Qt::AA_UseSoftwareOpenGL); in main.cpp)

      Somehow this is broken such that it never advances the global timer and so all the animations don't progress. The QSGAnimationDriver::advance() function does not get called, no animations run from that point forwards, even new animations that you create.

      It all works fine if I override the QSG_RENDER_LOOP by setting the environment variable QSG_RENDER_LOOP=threaded

      So it would seem that the QSGWindowsRenderLoop is broken somehow.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            sletta Gunnar Sletta
            gemmell Simon Gemmell
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes