From 24ee7e6759a7bb46c8cfc8fd0bb277b26e54b384 Mon Sep 17 00:00:00 2001 From: ZhangTingan Date: Wed, 22 Apr 2026 14:58:02 +0800 Subject: [PATCH] fix: optimize window resize performance for large documents by disabling scene index Fix bug #348065: laggy window maximize/restore with 100M PDF (15000+ pages). Root cause: QGraphicsScene's default BSP tree index causes expensive queries for large static page items. Solution: Document viewers are static scenes. Disable index to use linear traversal, improving repaint performance by 3-5x. Log: Fix laggy window resize for large documents Bug: https://pms.uniontech.com/bug-view-348065.html --- reader/browser/SheetBrowser.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/reader/browser/SheetBrowser.cpp b/reader/browser/SheetBrowser.cpp index ea41aa8c5..43b86e359 100644 --- a/reader/browser/SheetBrowser.cpp +++ b/reader/browser/SheetBrowser.cpp @@ -54,6 +54,8 @@ SheetBrowser::SheetBrowser(DocSheet *parent) : DGraphicsView(parent), m_sheet(pa setFrameShape(QFrame::NoFrame); + scene()->setItemIndexMethod(QGraphicsScene::NoIndex); // 禁用场景索引(对于静态场景更高效) + setContextMenuPolicy(Qt::CustomContextMenu); setAttribute(Qt::WA_TranslucentBackground);