Difference between revisions of "Impress/Performance/OpenDocument"
From Apache OpenOffice Wiki
< Impress | Performance
(→Ideas for improvement) |
(→Ideas for improvement) |
||
Line 12: | Line 12: | ||
== Ideas for improvement == | == 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 |
Revision as of 15:03, 11 February 2009
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