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



    • 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:


      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.



          Issue Links

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



              vestbo Tor Arne Vestbø
              tom.ransdell Tom Ransdell
              2 Vote for this issue
              7 Start watching this issue



                  Gerrit Reviews

                  There are no open Gerrit changes