diff options
author | Bernd Weimer <bernd.weimer@qt.io> | 2022-07-12 15:03:01 +0200 |
---|---|---|
committer | Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> | 2022-07-14 06:19:43 +0000 |
commit | 71871c46ed29c7923b85090ddbe6366027c61f2d (patch) | |
tree | f998658117b5ba4e57b8bbf003be045660def399 | |
parent | 25a0157fc4fdf4fe3e33c0a789ac2155356076de (diff) | |
download | qtapplicationmanager-71871c46ed29c7923b85090ddbe6366027c61f2d.tar.gz |
Avoid rendering fully transparent node
This improves performance in single-process mode, when an
ApplicationManagerWindow is fully transparent.
Change-Id: I87d35a76c4301b59b513bf19b4de01fb244e028e
Reviewed-by: Robert Griebl <robert.griebl@qt.io>
(cherry picked from commit 1b818ba23087fc57a4392a26f72861c9364d0ba8)
Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
-rw-r--r-- | src/manager-lib/inprocesssurfaceitem.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/manager-lib/inprocesssurfaceitem.cpp b/src/manager-lib/inprocesssurfaceitem.cpp index 07bcb6ed..3704b2d2 100644 --- a/src/manager-lib/inprocesssurfaceitem.cpp +++ b/src/manager-lib/inprocesssurfaceitem.cpp @@ -138,6 +138,9 @@ bool InProcessSurfaceItem::visibleClientSide() const QSGNode *InProcessSurfaceItem::updatePaintNode(QSGNode *oldNode, QQuickItem::UpdatePaintNodeData *) { + if (m_color.alpha() == 0) + return oldNode; // no need to render fully transparent node + QSGSimpleRectNode *node = static_cast<QSGSimpleRectNode *>(oldNode); if (!node) { node = new QSGSimpleRectNode(clipRect(), m_color); |