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

macOS: Backingstore flush performance regression when layer-backed

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.12, 5.14, 5.15
    • Fix Version/s: 5.12.8, 5.15.0 Beta3
    • Component/s: QPA
    • Labels:
      None
    • Platform/s:
      macOS
    • Commits:
      ce2d68ebe1aefeae78ff2fd8ec5ff7e20790ef69 (qt/qtbase/5.12.8) 02fa39ed22e8ca5889639661b531f1653c6388f2 (qt/qtbase/5.14)

      Description

      Layer-backing does not provide the same out of the box support for drawing/flushing sub-rects as surface-backing did, and we end up pushing more pixels to the GPU than necessary, or copying buffers during flush.

      Using drawRect: with layer-backing has an internal implementation that could help performance, but does not support synchronous flushes via lockView, which Qt Widgets relies on.

      We currently use an IOSurface for the backingstore, that we then copy subrects out of when flushing sublayers.

       

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

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes