Impress/Performance/OpenDocument

From Apache OpenOffice Wiki
Jump to: navigation, search

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