From c8be7be5cb055472e753dffd196f8651eb1958ff Mon Sep 17 00:00:00 2001 From: Devin Lin Date: Wed, 18 Feb 2026 22:43:13 -0500 Subject: [PATCH] homescreens/folio: Render page in one texture Render every page together in one texture. This groups together all page contents so that it is rendered a single time in the scene graph. --- .../homescreens/folio/qml/HomeScreenPages.qml | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/containments/homescreens/folio/qml/HomeScreenPages.qml b/containments/homescreens/folio/qml/HomeScreenPages.qml index c0cbd0c9..7cd617fe 100644 --- a/containments/homescreens/folio/qml/HomeScreenPages.qml +++ b/containments/homescreens/folio/qml/HomeScreenPages.qml @@ -72,9 +72,14 @@ MouseArea { anchors.bottomMargin: root.verticalMargin // animation so that full opacity is only when the page is in view - readonly property real distanceToCenter: Math.abs(-folio.HomeScreenState.pageViewX - root.width * pageNum) - readonly property real positionX: root.width * index + folio.HomeScreenState.pageViewX - readonly property real progressToCenter: 1 - Math.min(1, Math.max(0, distanceToCenter / root.width)) + readonly property real distanceToCenter: Math.abs(-folio.HomeScreenState.pageViewX - folio.HomeScreenState.pageWidth * pageNum) + readonly property real positionX: folio.HomeScreenState.pageWidth * index + folio.HomeScreenState.pageViewX + readonly property real progressToCenter: 1 - Math.min(1, Math.max(0, distanceToCenter / folio.HomeScreenState.pageWidth)) + + // Use layer to render all page items together in one texture + layer.enabled: Math.abs(index - folio.HomeScreenState.currentPage) <= 1 + && !folio.HomeScreenState.isDraggingDelegate + layer.smooth: true visible: opacity > 0 opacity: {