SystemDependentDataBuffer bits ...
Michael Meeks
michael.meeks at collabora.com
Fri Apr 26 10:40:34 UTC 2019
Hi Armin,
I guess you missed the appended on IRC.
It seems odd that just typing in writer should be so rapidly creating
and destroying these cached items. A couple of thoughts:
* do we need to do this for simple / common polylines etc. ?
+ surely there is a complexity/benefit tradeoff here.
* should we not disable the SystemDependentDataBuffer ie.
remove:
if(maEntries.empty() && maTimer)
maTimer->Stop();
from there we can stop ourselves in the timeout if necessary.
this can save us doing a chunk of un-necesary scheduler work
which can be rather expensive.
Noel any chance of killing those lines & testing ?
Armin - any thoughts on whether this is truly necessary for
simple polylines ? (is it to cache the winding / self
intersection stuff ? )
Thoughts ?
Michael.
<mmeeks> caolan, alg: I wonder if you see a lot of:
<mmeeks> info:vcl.schedule:4742:4748:vcl/source/app/scheduler.cxx:588:
1556195258227 0x7f0124085af0 restarted a: 1 p: 1 vcl
SystemDependentDataBuffer aSystemDependentDataBuffer
<mmeeks> info:vcl.schedule:4742:4748:vcl/source/app/scheduler.cxx:596:
1556195258227 0x7f0124085af0 stopped a: 1 p: 1 vcl
SystemDependentDataBuffer aSystemDependentDataBuffer
<mmeeks> caolan: if you run with
SAL_LOG="+INFO.vcl.schedule+WARN.vcl.schedule"
<vmiklos> mmeeks: yes, it fies every second, see
vcl/source/app/svdata.cxx:121
<vmiklos> fires
<mmeeks> caolan: looks to me like we're doing heavy-lifting to cache
even the cairo paths for the most banal polypolygons we render - (just
typing randomly in writer) - which hits all sorts of locking there, as
well as hitting the scheduler core too.
<mmeeks> vmiklos: sure - but I get ~hundred of those rendering a tile ;-)
<mmeeks> vmiklos: we seem to add and remove it a -lot- which seems
rather unreasonable - but perhaps it's just noisy debuug
<vmiklos> ah
<noelgrandin> oddd I thought that that SystemDependantDataBuffer stuff
was only for caching drawing operations for drawinglayer/etc, would not
have expected it to fire in writer
<mmeeks> vmiklos: ~150k of those while typing ~3 lines of random text in
writer =)
<mmeeks> noelgrandin: might be worth a chase ? =) I suspect we're doing
it for banal polypolygons =)
<mmeeks> and we shouldn't - start/stop/copy/allocate is expensive
<noelgrandin> oh great, debugging SystemDependentDataBuffer::startUsage
crashes gdb
<caolan> mmeeks, I don't know anything about that relatively new caching
stuff, except that it seems to be the reason tdf#124863 doesn't work anymore
--
michael.meeks at collabora.com <><, GM Collabora Productivity
Hangout: mejmeeks at gmail.com, Skype: mmeeks
(M) +44 7795 666 147 - timezone usually UK / Europe
More information about the LibreOffice
mailing list