Optimization thought, concurrent importing of slides
Noel Grandin
noelgrandin at gmail.com
Mon Oct 19 11:21:50 UTC 2020
The trick is to make sure that the relevant chunk of import code is thread-safe, which can be quite hard.
I strongly suspect that the reason that MS-Office is fast, is that it only parses the pages on demand, instead
of all at once.
On 2020/10/19 1:16 pm, Mike Kaganski wrote:
> Hi,
>
> On 19.10.2020 6:32, 方振华(601661) wrote:
>> Our two competitors MS Office/WPS do not have the problem of scaling. Opening a document with 100 slides makes little
>> percetible difference from opening a PPT of one single slide. We take a look at the code, and we think, maybe, instead
>> of importing the document slide by slide, would it be possible to import all the slides at once with multiple threads?
>>
>> Has anyone made such attemp? What stops us from using concurrent processing?
>
> Looks like this is what https://git.libreoffice.org/core/+/8062e88e73acd8d1f9a62b0bd519b499693285e3 recently did for ODF
> case, it seems?
>
>>
>> Here are the code snippet, in oox/source/ppt/presentationfragmenthandler.cxx
>> void PresentationFragmentHandler::finalizeImport()
>> {
>> ...
>> int nPagesImported = 0;
>> for (sal_Int32 elem : aRangeEnumerator)
>> {
>> if ( rxStatusIndicator.is() )
>> rxStatusIndicator->setValue((nPagesImported * 10000) / aRangeEnumerator.size());
>>
>> importSlide(elem, !nPagesImported, bImportNotesPages);
>> nPagesImported++;
>> }
>> ...
>> }
>>
>>
>> _______________________________________________
>> LibreOffice mailing list
>> LibreOffice at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/libreoffice
>>
>
>
More information about the LibreOffice
mailing list