desktop/source/lib/init.cxx | 7 +++++++ vcl/source/app/scheduler.cxx | 5 +++++ 2 files changed, 12 insertions(+)
New commits: commit 515283ca27bb706544a1b31d6042f6499ff9dff8 Author: Miklos Vajna <vmik...@collabora.com> AuthorDate: Thu Aug 21 14:35:03 2025 +0200 Commit: Caolán McNamara <caolan.mcnam...@collabora.com> CommitDate: Thu Aug 21 16:32:42 2025 +0200 Related: cool#11942 desktop, vcl: add some logging on high priority tasks The original problem around tile rendering, a large document with many pages and a shape is resolved, but we got a report that the old bad behavior is still observed from time to time, with no steps to reproduce. So add some logging to obtain more info: if the problem is that the first tile gets rendered because of an unwanted high priority VCL task, then let's log all "interrupting" tasks and also the doc-load end and the tile-render start to see what tasks interrupt. Possibly that will point out a new task that doesn't happen for me locally and then that can be investigated. Change-Id: I4c92bf7d5b42628398e586276f80052e0de46306 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/189999 Reviewed-by: Caolán McNamara <caolan.mcnam...@collabora.com> Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoff...@gmail.com> diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 6029bf1d8da4..b615512267f1 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -3114,6 +3114,7 @@ static LibreOfficeKitDocument* lo_documentLoadWithOptions(LibreOfficeKit* pThis, pDocument->maFontsMissing.insert(aFontMappingUseData[i].mOriginalFont); } + SAL_INFO("lok", "lo_documentLoadWithOptions: finished @ " << osl_getGlobalTimer()); return pDocument; } catch (const uno::Exception& exception) @@ -4446,6 +4447,12 @@ static void doc_paintPartTile(LibreOfficeKitDocument* pThis, const int nTilePosX, const int nTilePosY, const int nTileWidth, const int nTileHeight) { + static bool bFirst = true; + if (bFirst) + { + bFirst = false; + SAL_INFO("lok", "doc_paintPartTile: first tile @ " << osl_getGlobalTimer()); + } comphelper::ProfileZone aZone("doc_paintPartTile"); SolarMutexGuard aGuard; diff --git a/vcl/source/app/scheduler.cxx b/vcl/source/app/scheduler.cxx index a74f781ad62e..a5b9d4ab4dcf 100644 --- a/vcl/source/app/scheduler.cxx +++ b/vcl/source/app/scheduler.cxx @@ -329,6 +329,11 @@ int Scheduler::GetMostUrgentTaskPriority() if (nReadyPeriod == ImmediateTimeoutMs) { nMostUrgentPriority = nTaskPriority; + // 0..4 (inclusive) is typically considered "high priority". + SAL_INFO("vcl.schedule", "Scheduler::GetMostUrgentTaskPriority: reporting " + << nMostUrgentPriority + << " as the most urgent priority, task is '" + << pTask->GetDebugName() << "'"); return nMostUrgentPriority; } }