Date: prev next · Thread: first prev next last
2019 Archives by date, by thread · List index


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@collabora.com <><, GM Collabora Productivity
Hangout: mejmeeks@gmail.com, Skype: mmeeks
(M) +44 7795 666 147 - timezone usually UK / Europe

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.