From 71871c46ed29c7923b85090ddbe6366027c61f2d Mon Sep 17 00:00:00 2001 From: Bernd Weimer Date: Tue, 12 Jul 2022 15:03:01 +0200 Subject: 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 (cherry picked from commit 1b818ba23087fc57a4392a26f72861c9364d0ba8) Reviewed-by: Qt Cherry-pick Bot --- src/manager-lib/inprocesssurfaceitem.cpp | 3 +++ 1 file changed, 3 insertions(+) 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(oldNode); if (!node) { node = new QSGSimpleRectNode(clipRect(), m_color); -- cgit v1.2.1