Aspose Slide presentation JVM size limit

Hi,


I would like to know the performance benchmark of Aspose Java Slide v14.9, I am trying to load a presentation of 18MB concurrently by 2 request/thread but the JVM hung due to heavy GC activity. JVM max size is set as 4GB.

Code snippet I am using…
Presentation srcPresentation = new Presentation(inputStream(), new LoadOptions(LoadFormat.Auto));

It is able to load the file with 1 request/thread with 3GB heap used.

Additionally, is there any API which would not load the full PPT in memory, instead load on demand?

Thanks
Rahul

Hi Rahul,

I have observed the requirements shared by you. I like to share that when you load the presentation by instantiating Presentation object the entire presentation gets loaded in Document Object Model (DOM) of Aspose.Slides. The presentations size that you are referring is fairly big. The amount of memory consumed is dependent upon number of slides, number of shapes inside every slide and multimedia content inside the presentation. The point to note is that 18Mb presentation will not be taking 18Mb memory in RAM when loaded using Aspose.Slides as it will be fill the data structures inside DOM of Aspose.Slides. There is no benchmark available in this regard that how much memory a presentation will consume in memory when loaded using Aspose.Slides. As an example an 18MB presentation with single slide and only 1 embedded video frame will take lot lesser memory than a same 18MB presentation with 10 slides, many shapes and multimedia content inside that.

I hope the shared elaboration will be helpful.

Many Thanks,

Thanks for your reply.


Is there any way to load presentation on demand?

My requirement is to copy some slides out of the presentation that are fairly big in size (250 slides, 18mb)

Hi Rahul,


I have observed your comments and like to request you to please visit this documentation article for your kind reference.

Please let us know if the issue persists. We will be happy to assist you further.

Best Regards,

Thanks for your reply!!


All the clone options requires presentation oject creation, which loads full presentation document in memory. This step is consuming very heavy memory for even a single request. In my case 3gb of JVM is hung to serve one request.

Is there any alternative way to clone a slide without loading the full presentation in memory?

Thanks once again!!


Hi Rahul,


I have observed your comments and like to share with you that the whole presentation is loaded first and it is not possible to clone slides without loading complete presentation.

Best Regards,

Hi Rahul.


As shared by Adnan that in current Aspose.Slides model it is not possible to load the presentation partially. I have created an issue with ID SLIDESJAVA-35052 as new feature request to investigate the possibility of implementing the requested feature. This thread has been linked with the issue so that you may be automatically notified once the support will be available.

Many Thanks,