Impress/Performance/OpenDocument
From Apache OpenOffice Wiki
< Impress | Performance
Revision as of 15:03, 11 February 2009 by Cl@openoffice.org (Talk | contribs)
Phase 1: Analyze
Results from analyze of DEV300m10 with sleepy under windows
- xml import takes up nearly all of the time during load, that is as expected
- during xml import, nearly all time is taken by SvXMLImport::startElement, that is also expected
- in SvXMLImport::startElement, SdXMLShapeContext::AddShape takes 75% and SdXMLShapeContext::SetStyle only 21%, this is interesting
- nearly all time is spend in SdDrawPage::add
- This is mainly used in SdPage::SetObjText (41%), SdrObject::RecalcBoundRect(37%) and SdrObject::SetStyleSheet(14%)
- And interestingly in SdPage::SetObjText the majority is spend in SdrObject::GetCurrentBoundRect(), I think we have our first bottleneck winner :-)
- This is mainly used in SdPage::SetObjText (41%), SdrObject::RecalcBoundRect(37%) and SdrObject::SetStyleSheet(14%)
- nearly all time is spend in SdDrawPage::add
- in SvXMLImport::startElement, SdXMLShapeContext::AddShape takes 75% and SdXMLShapeContext::SetStyle only 21%, this is interesting
Ideas for improvement
- void SdrObject::SetOutlinerParaObject(OutlinerParaObject* pTextObject) should not call GetCurrentBoundRect() if the document is locked while loading.
- ImpEditEngine::FormatAndUpdate( EditView* pCurView ) is called very often, I think there is much redundancy
- I talked with malte and he we now think it is save to not call FormatAndUpdate at all during load as it is only needed and already done during painting