Details
-
Bug
-
Resolution: Done
-
P1: Critical
-
5.12, 5.14, 5.15
-
None
-
-
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.