storing chart doc on load ?

Markus Mohrhard markus.mohrhard at googlemail.com
Sun Dec 23 15:26:57 PST 2012


Hey Michael,


>
>         I was surprised to see some similar things happening with VBA streams
> on load (or at least things getting written out again). After a bit of
> thought, I assumed that one was so we could re-store the identical input
> in the output again if it was not changed: so we could round-trip
> features we didn't understand.

Yes for VBA we are doing exactly that. However in this case it is
different as we are using the ODF export filter to store the chart
document. The bug reporter comfirmed that this just moves the delay to
the opening of the sheet. I think this is preferred to doing that
during loading for all sheets. That way Calc seems to be faster even
if it is not. I suspect this has to do with the way we display chart
documents.

>
>         Presumably the same might be useful for OLE objects, but ... I wonder
> if it interacts with Tools->Options->Load/Save->Microsoft Office in some
> useful way.

I think this is more related to how chart documents are integrated
into Calc. While not being in the edit mode we actually display a
rendered image which is normally somehow generated during export. I
suspect they added the export to trigger a recalculation of the image.
As the reporter mentions we are doing the same now but it seems to
bedelayed until the point where we actually need the chart documents.

>
>         Either way, our whole approach to loading and converting-to-native all
> embedded OLE2 streams for charts etc. on load always seemed to me to be
> extremely curious / slow ;-) but probably I mis-understood something
> quite profoundly: I always wanted to have some time to dig through that
> to see what could be safely deferred: clearly rendering WMF previews for
> embedded charts for as long as possible would help us on load - but
> being able to edit charts is rather useful too ;-)

So IMHO the bigger problem is how chart2 is internally implemented. It
is a big chunk of uno implementation layers over each other. At some
point we need to fix the horrible performance problems that are
related with the chart2 design. The bug document shows this very good
when you try to scroll in one of the sheets with a chart document. I
think at some point we need to find some time to step by step clean
the chart2 code up and remove quite a bit of the unnecessary uno parts
in it. And of course the rendering layer in chart2 is a nightmare and
has quite a few platform specific bugs.

>
>         All the best over Christmas etc. !
>

Nice Christmas to you too.

Regards,
Markus


More information about the LibreOffice mailing list