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

[macOS]: Entire contents of QWindow always composited on screen from backing store surface after any QWidget::update

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2: Important
    • Resolution: Done
    • Affects Version/s: 5.12.3, 5.12.4
    • Fix Version/s: 5.12, 5.14
    • Component/s: QPA
    • Environment:
      macOS 10.12, 10.13, 10.14 particularly with large Retina displays. Also reported by Apple on new MacPro Tower with Apple Pro Display XDR.
    • Platform/s:
      macOS

      Description

      We have been experience performance and latency issues in our app for a while now. However it is more pronounced on our latest release which moved to a full screen panel based UI from separate windows.

      FYI The Apple performance lab first reported this issue with our application and subsequently confirmed it using the same test_draw.app from QTBUG-49385.

      The problems are related to the fact that even the smallest QWidget::udpate rectangle a window will end up moving the entire contents of the QBackingstore surface buffer to screen instead of just the area since the last video sync.

      This type of behavior might be acceptable for small windows where only a small amount of memory has to be uploaded to video memory. However for windows that cover large screens, particularly large Retina HiDPI displays, the time it takes to upload an entire window buffer can take quite a while; long enough that it impacts the synchronization other threads in our application, forcing many of them to end up running serially instead of in parallel and consequently severely impacting performance.

       

        Attachments

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

          Activity

            People

            • Assignee:
              vestbo Tor Arne Vestbø
              Reporter:
              tom.ransdell Tom Ransdell
            • Votes:
              2 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes