The cost of getSystemDependentData tracking for trivial polylines and polygons is horribly expensive. Interestingly - the more of it we do, the worse the cost - since the data stacks up in the background. I have a patch to avoid blowing this up for headless/ which is particularly important for Android - will attach a profile shot. From the commit msg: Interestingly the cache map lookup is rather expensive; why: polyline output for some trivial impress edits: count # of polylines 2 2134 3 141 4 41 9 4 polypolygon output for some trivial impress edits: count # of polypolygons geometry. 3 54 all single polygon 4 583 ~all single 9 52 ~ all paired with a 4 node polygon 13 2 both single 32 22 all single
https://gerrit.libreoffice.org/c/core/+/86313
Created attachment 156973 [details] profile flamegraph fragment
For master: https://gerrit.libreoffice.org/c/core/+/86314 tdf#129845 vcl: avoid expensive system caching of trivial lines & polygons
Michael Meeks committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/cebeafbf0f9efde6e17604cf2557b8490e7f5347 tdf#129845 vcl: avoid expensive system caching of trivial lines & polygons It will be available in 6.5.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.
Armin Le Grand committed a patch related to this issue. It has been pushed to "master": https://git.libreoffice.org/core/commit/2da7a82f6b7a78e1e4b34b0b3c7a27d2b3c47a35 tdf#129845: Better solution using already existing info It will be available in 6.5.0. The patch should be included in the daily builds available at https://dev-builds.libreoffice.org/daily/ in the next 24-48 hours. More information about daily builds can be found at: https://wiki.documentfoundation.org/Testing_Daily_Builds Affected users are encouraged to test the fix and report feedback.