Difference between revisions of "Impress/Performance/OpenDocument"

From Apache OpenOffice Wiki
Jump to: navigation, search
(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.
+
* 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
+
* 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 :-)

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
Personal tools