Go to file
Tor Arne Vestbø 02fa39ed22 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)
2020-03-25 12:20:00 +01:00
bin Merge remote-tracking branch 'origin/5.13' into 5.14 2019-11-13 07:21:33 +01:00
config.tests wasm: fix arch detect on windows with WASM_OBJECT_FILES 2019-10-14 17:40:41 +10:00
dist Add changes file for Qt 5.14.2 2020-03-17 06:16:25 +01:00
doc Doc: Fix copy-paste error in QOpenGLTexture::Target docs 2020-01-28 18:42:58 +01:00
examples examples: Fix build for configurations that do not have printsupport 2020-03-05 15:11:36 +01:00
lib
mkspecs Merge remote-tracking branch 'origin/5.14.2' into 5.14 2020-03-19 16:10:31 +01:00
qmake Windows: Add install/uninstall rules for target.targets 2020-02-14 15:03:10 +00:00
src macOS: Flush sublayers via separate IOSurface backingstores 2020-03-25 12:20:00 +01:00
tests qtimezoneprivate_tz: Apply a cache over the top of timezone data 2020-03-20 16:58:09 +02:00
util Enable system locale to skip digit-grouping if configured to do so 2020-02-03 15:34:02 +01:00
.gitattributes
.gitignore qfloat16: Check in the tables to Git 2019-06-03 10:42:53 -07:00
.qmake.conf Bump version 2020-02-02 13:41:14 +01:00
.tag
config_help.txt Doc: Fix botched attempt of documenting the 'relocatable' feature 2020-02-13 09:41:10 +00:00
configure Android: remove remaining reference to -android-toolchain-version 2019-11-18 14:13:32 +01:00
configure.bat Configure: simplify logic 2019-03-14 12:13:58 +00:00
configure.json Doc: Fix botched attempt of documenting the 'relocatable' feature 2020-02-13 09:41:10 +00:00
configure.pri configure: Hacky fix to allow re-configuring on android 2019-12-16 19:17:47 +01:00
header.BSD Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.FDL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.GPL-EXCEPT Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL3-COMM Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-NOGPL2 Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.LGPL-ONLY Use placeholder for year in header.* files 2018-04-16 11:02:22 +00:00
header.MIT qsimd: add support for new x86 CPU features 2018-05-05 06:20:07 +00:00
INSTALL INSTALL: Remove outdated reference to Windows CE 2019-02-13 13:01:57 +00:00
LICENSE.FDL
LICENSE.GPL2
LICENSE.GPL3
LICENSE.GPL3-EXCEPT
LICENSE.LGPL3
LICENSE.LGPLv3
LICENSE.QT-LICENSE-AGREEMENT Update enterprise license agreement v4.2.1 2019-12-18 13:07:19 +02:00
qtbase.pro
sync.profile CMake: Add support for auto-importing plugins in CMake 2019-08-12 18:23:58 +02:00