more visiting and less buffering in drawinglayer/

Noel Grandin noelgrandin at
Fri Dec 3 11:21:44 UTC 2021


There will be a variety of drawinglayer related patches going through as I
work though some performance issues.

So for drawinglayer code, we generally start with a hierarchy of
drawinglayer objects.

Then we call that hierarchy recursively, and it produces as output a list
of more primitive drawinglayer objects.

Then we iterate over that list of "primitive" objects and do something -
usually rendering, sometimes hit-testing, sometimes something else.

What I am doing is attempting to remove the intermediate creation of
drawinglayer objects (which is fairly expensive), and instead use a visitor
pattern (represented by the Primitive2DDecompositionVisitor abstract class)

Along the way I also intend to remove some buffering of these intermediate
objects, since it is generally less expensive to just visit the
higher-level tree.

Regards, Noel Grandin
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the LibreOffice mailing list