Hi all,

These days I am doing the work to improve the speed of openning a .ppt file 
which contains many jpg or bmp pictures. 
 I found use MS Powerpoint and OOo impress to open the same .ppt file(contains 
many jpg or bmp pictures),OOo impress
 is much more slower than MS Powerpoint.In my test,MS Powerpoint open my test 
.ppt file in 3-4 seconds, but for OOo 
 it is 1-2 minutes.
 
 I have tracked the process of importing a .ppt file, here is the process:
 
 ......
 ImplSdPPTImport::Import()
 SdrPowerPointImport::ImportPage(...)
 SvxMSDffManager::ImportObj(...)
 SvxMSDffManager::ImportGraphic(...)
     SvxMSDffManager::GetBLIP(...)
     SvxMSDffManager::GetBLIPDirect(...)
     GraphicFilter::ImportGraphic(...)
     Graphic::SetLink(...)                     // ********* here save picture 
data into a temp file
 SdrGrafObj::ForceSwapOut()
 GraphicObject::FireSwapOutRequest()
 GraphicObject::ImplAutoSwapOutHdl(...)
     GraphicObject::SwapOut()         // ******** here again swap out picture 
data to temp file
 ......
 
 To my opinion, OOo impress opens .ppt file slower because of:
 1. It imports all contents before displays, but MS Powerpoint only imports 
those needed;
 2. It create too many temp files for those pictures embeded in slide pages, 
but MS Powerpoint do nothing about this.
 
 Then I do some tests, first I omit the function Graphic::SetLink(...). In the 
case open my .ppt file(contains many jpg or
 bmp picture), the speed raise 30%-40% and only several temp files created. 
Everything looks ok except the peak memory
 is twice. Maybe too many picture data in memory?
 
 So my question is:
 1. Why we must import all things before to display it? Maybe operation speed 
will fast but load speed is too slow;
 2. Can I maintain the input sream( .ppt file stream ) all the time? So I can 
import any thing when I real need it;

 Thank you to read my question, and I need your help. Any comment and hint are 
welcome.
 
best regards,
jiangdongjin
 
 
 


 

Reply via email to