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

Investigate per-frame choice to run GUI and render thread in lock-step

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P1: Critical
    • None
    • None
    • Quick: SceneGraph
    • None
    • All

    Description

      When using the render thread today we sync up the GUI thread  state with the render thread, but then let the render thread continue rendering while we return back to the event loop for the GUI thread.

      In some cases, like an expose event, or during resizing, it's important that once the GUI thread returns from the system's expose or resize callback, the next frame has been fully rendered to match the new state. 

      One way to potentially guarantee this, without using main thread rendering, is to introduce a mode where the GUI thread waits for the entire frame to finish rendering before returning.

      This mode would also be beneficial for the window embedding case. When the geometry of an Item is changed, which in turn affects the geometry of the contained QWindow, we want to update the two in perfect sync. Right now we don't, because the item's visual geometry is updated on the render thread, while the QWindow is moved around on the GUI thread.

      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
            vestbo Tor Arne Vestbø
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes