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

Support for always vsynced animation mode

    XMLWordPrintable

Details

    • Suggestion
    • Resolution: Unresolved
    • P1: Critical
    • 6.x
    • 6.4
    • Quick: SceneGraph
    • None

    Description

      Qt Quick threaded renderer caps the animations to screen vsync e.g. 60 fps and if this isn't reached then animate as fast as possible. Consider providing an option to sync animations to "next closest frame". So e.g. if frame takes ~20-25ms, renderloop & animations would run at steady 30fps instead of 40-50fps as steady fps can have a smoother appearance (and use less CPU & GPU). This may become more desirable with 75/120/144 Hz screens where syncing to every other frame would still be smooth.

      This could maybe be achieved in QSGThreadedRenderLoop::polishAndSyn() instead of current "polish -> vsync -> animate" would do "polish -> animate -> vsync" so if animate takes too long vsync locks to next frame?

      Attached 2 videos experimenting how increasing CPU usage affects to current & this possible "always vsynced" animations. Difference isn't huge, but steady 30fps did feel somewhat smoother.

      Attachments

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

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            kagro Kaj Grönholm
            Votes:
            1 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes