sc/source/ui/app/scmod.cxx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
New commits: commit f4817fdfe0861bef2f71e7ae5dfd309573714761 Author: Szymon Kłos <szymon.k...@collabora.com> AuthorDate: Wed Feb 19 08:20:28 2025 +0100 Commit: Michael Meeks <michael.me...@collabora.com> CommitDate: Wed Feb 19 17:38:41 2025 +0100 lok: don't invalidate on theme switch In LOK invalidation means: content was changed. Apart of tiles we send the background color so client already knows - has to redraw and new rendering state options also trigger notifications. LOK with this knowledge will request tiles in new theme variant if not having them already in the cache. Invalidation was causing the cache in WSD beeing cleared. What caused expensive redrawing of all tiles needed later. Especially visible when joining with new view or dark mode switching. Old logs: [ kitbroker_001 ] TRC KitQueue(2) - pop child-04c uno .uno:ChangeTheme {"NewTheme":{"type":"string","value":"Dark"}}| kit/KitQueue.cpp:410 ... [ kitbroker_001 ] TRC Should we trim our caches ?| kit/Kit.cpp:1057 [ kitbroker_001 ] TRC Document::ViewCallback [5] [LOK_CALLBACK_VIEW_RENDER_STATE] [SD;Dark].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC postMessage called with: client-04c canonicalidchange: viewid=5 canonicalid=1001 viewrenderedstate=SD;Dark| kit/Kit.cpp:832 [ kitbroker_001 ] TRC Document::ViewCallback [5] [LOK_CALLBACK_APPLICATION_BACKGROUND_COLOR] [1c1c1c].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC Document::ViewCallback end.| kit/Kit.cpp:1214 [ kitbroker_001 ] TRC Document::ViewCallback [5] [LOK_CALLBACK_INVALIDATE_TILES] [EMPTY, 1, 0].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC Document::ViewCallback end.| kit/Kit.cpp:1214 [ kitbroker_001 ] TRC Document::ViewCallback [5] [LOK_CALLBACK_CALC_FUNCTION_LIST] [hidetip].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC Document::ViewCallback end.| kit/Kit.cpp:1214 [ kitbroker_001 ] TRC Document::ViewCallback [5] [LOK_CALLBACK_VIEW_RENDER_STATE] [SD;Dark].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC Document::ViewCallback [5] [LOK_CALLBACK_APPLICATION_BACKGROUND_COLOR] [1c1c1c].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC Document::ViewCallback end.| kit/Kit.cpp:1214 [ kitbroker_001 ] TRC Document::ViewCallback [5] [LOK_CALLBACK_VIEW_RENDER_STATE] [SD;Dark].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC Document::ViewCallback [5] [LOK_CALLBACK_APPLICATION_BACKGROUND_COLOR] [1c1c1c].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC Document::ViewCallback end.| kit/Kit.cpp:1214 [ kitbroker_001 ] TRC Document::ViewCallback [4] [LOK_CALLBACK_INVALIDATE_TILES] [EMPTY, 1, 0].| kit/Kit.cpp:1158 [ kitbroker_001 ] TRC Removing smaller invalidation: EMPTY, 1, 0 -> 0 0 2147483647 2147483647 1 0| kit/KitQueue.cpp:231 [ kitbroker_001 ] TRC Document::ViewCallback end.| kit/Kit.cpp:1214 ... [ docbroker_001 ] TRC Removing invalidated tiles: part: 1, mode: 0, x: 0, y: 0, width: 2147483647, height: 2147483647, viewid: 1000| wsd/TileCache.cpp:282 ... [ docbroker_001 ] TRC TileCombined request for nviewid=1000 part=1 width=256 height=256 tileposx=0,3840,7680,11520,15360,19200,0,3840,7680,11520,15360,19200,0,3840,7680,11520,15360,19200,0,3840,7680,11520,15360,19200 tileposy=314880,314880,314880,314880,314880,314880,318720,318720,318720,318720,318720,318720,322560,322560,322560,322560,322560,322560,326400,326400,326400,326400,326400,326400 tilewidth=3840 tileheight=3840 ver=-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1 oldwid=1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 from wsd| wsd/DocumentBroker.cpp:4371 It makes big performance impact. Recently this code was reworked in 77ae7611fb2a670bb567718ce2cd3c4cc2fd9660 Signed-off-by: Szymon Kłos <szymon.k...@collabora.com> Change-Id: I4d295c526638ab199d50f284d962da411f18b7b4 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/181860 Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> Reviewed-by: Michael Meeks <michael.me...@collabora.com> Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> diff --git a/sc/source/ui/app/scmod.cxx b/sc/source/ui/app/scmod.cxx index 2dfdb0f0de5b..487291113747 100644 --- a/sc/source/ui/app/scmod.cxx +++ b/sc/source/ui/app/scmod.cxx @@ -235,7 +235,7 @@ void ScModule::ConfigurationChanged(utl::ConfigurationBroadcaster* p, Configurat } // if nothing changed, and the hint was OnlyCurrentDocumentColorScheme we can skip invalidate - const bool bSkipInvalidate = bUnchanged && eHints == ConfigurationHints::OnlyCurrentDocumentColorScheme; + const bool bSkipInvalidate = bKit ||(bUnchanged && eHints == ConfigurationHints::OnlyCurrentDocumentColorScheme); if (!bSkipInvalidate) { pViewSh->PaintGrid();