I am currently evaluating Aspose.Slides .NET 7.5.1. For most sample PPTX presentation files I have tested, Aspose.Slides will initialize a new PresentationEx() object from a given file path in a second or two, then quickly proceed with the rest of my code base (basically generating a image of each slide).
For a selected few presentations, however, the line: PresentationEx pres = new PresentationEx(myfilepath); takes many minutes (not seconds) to load, even though there are only maybe 15-16 slides in the PPTX file. Once the PresentationEx object is eventually initialized, the remainder of the code completes within a couple seconds.
From my analysis, it appears that only certain slides (typically 1 to 1.5MB in size) are causing the issue. However, it is not just a size issue, since other presentations with similarly large (or larger) slides initialize quickly.
As a specific example, I used PowerPoint to reduce an original problem PPTX file to just one slide -- the single largest slide. This single-slide PPTX file was 1.457 MB on disk. In my code, the PresentationEx object initialization line: PresentationEx pres = new PresentationEx(myfilepath) took 6.5 minutes to execute, with the compiled application's RAM climbing from a pre-load size of 6.6 MB to 1.1 GB after PresentationEx load. The remaining code after the initialization line completed execution in about one second.
In Microsoft PowerPoint itself, the vary same single-slide PPTX opens within 3 seconds.
I tried pre-loading the PPTX file into a filestream, then passing the stream over to the new PresentationEx(), however this made no difference. Is there anything I can do to improve the file load performance?
Any advice would be appreciated.