desktop/source/lib/init.cxx | 7 +++++++ vcl/source/app/scheduler.cxx | 5 +++++ 2 files changed, 12 insertions(+)
New commits: commit 49cde357336b1ad616ac7da869bbeca8cadc0442 Author: Miklos Vajna <[email protected]> AuthorDate: Thu Aug 21 14:35:03 2025 +0200 Commit: Miklos Vajna <[email protected]> CommitDate: Fri Aug 22 13:17:01 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 <[email protected]> Tested-by: Jenkins CollaboraOffice <[email protected]> Reviewed-on: https://gerrit.libreoffice.org/c/core/+/190056 Tested-by: Jenkins Reviewed-by: Miklos Vajna <[email protected]> diff --git a/desktop/source/lib/init.cxx b/desktop/source/lib/init.cxx index 8a0db69555a3..779930428f47 100644 --- a/desktop/source/lib/init.cxx +++ b/desktop/source/lib/init.cxx @@ -3107,6 +3107,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) @@ -4436,6 +4437,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 5a0104ffc140..64495994e6e5 100644 --- a/vcl/source/app/scheduler.cxx +++ b/vcl/source/app/scheduler.cxx @@ -332,6 +332,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; } }
