summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorTor Arne Vestbø <torarnv@gmail.com>2020-03-24 10:08:49 +0100
committerTor Arne Vestbø <torarnv@gmail.com>2020-03-25 12:20:00 +0100
commit02fa39ed22e8ca5889639661b531f1653c6388f2 (patch)
treee5037a14c707829d89fc2ff66088b2336845e815 /src/corelib
parentf10b31fc1be0697f65b13ee7ad966f0085f7ed00 (diff)
macOS: Flush sublayers via separate IOSurface backingstores
Flushing sublayers via QImage copies of the root IOSurface was causing performance regressions due to the constant allocations of new images each frame. We now re-use the QCALayerBackingStore implementation for sublayers, which gives a dynamic swap-chain. We're still paying the CPU cost of the copy from the root backingstore to the layered backingstores, as well as the memory cost, but at least improves the situation. We do not try to be smart and paint directly into the sublayers, as that would leave the root backingstore stale, potentially causing glitches when views are repositioned. Investigating this is left for future work. Fixes: QTBUG-82986 Change-Id: I758a3d8e1e40e2ed4fe6bc590a4a5a988d87a3a7 Reviewed-by: Morten Johan Sørvig <morten.sorvig@qt.io> Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io> (cherry picked from commit ce2d68ebe1aefeae78ff2fd8ec5ff7e20790ef69)
Diffstat (limited to 'src/corelib')
0 files changed, 0 insertions, 0 deletions