Bug 146319 - [SVG] load/export of W3C SVG example car.svg is slow
Summary: [SVG] load/export of W3C SVG example car.svg is slow
Status: NEW
Alias: None
Product: LibreOffice
Classification: Unclassified
Component: LibreOffice (show other bugs)
Version:
(earliest affected)
6.3.0.4 release
Hardware: All Linux (All)
: medium minor
Assignee: Not Assigned
URL:
Whiteboard:
Keywords: filter:svg, perf
Depends on:
Blocks:
 
Reported: 2021-12-19 17:54 UTC by Hossein
Modified: 2022-01-24 09:36 UTC (History)
3 users (show)

See Also:
Crash report or crash signature:
Regression By:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Hossein 2021-12-19 17:54:39 UTC
Description:
Loading the W3C SVG example car.svg is slow in LibreOffice, and the export to PDF is also slow. Each of these take ~10 seconds. The same file is loaded immediately in Firefox and Chrome. On debug builds of LibreOffice, it is ~1 minute.

Steps to Reproduce:
1. Download this example from w3.org website:
https://dev.w3.org/SVG/tools/svgweb/samples/svg-files/car.svg
2. Open it in LibreOffice using "Open File"
3. Export it to PDF

Actual Results:
The loading is slow, and the interface becomes non-responsive for some seconds. In the official release build, it takes ~10 seconds to become responsive again. Export to PDF also takes ~10 seconds. On debug builds of LibreOffice, it is ~1 minute.

Expected Results:
The file should be loaded immediately (<1s) and the UI should be responsive.


Reproducible: Always


User Profile Reset: No



Additional Info:
Tested with LibreOffice 7.2:

Version: 7.2.4.1 / LibreOffice Community
Build ID: 27d75539669ac387bb498e35313b970b7fe9c4f9
CPU threads: 8; OS: Linux 5.11; UI render: default; VCL: gtk3
Locale: en-US (en_US.UTF-8); UI: en-US
Calc: threaded

Converting to PDF using LibreOffice is 10 times slower compared to Chrome.

$ time libreoffice7.2 --headless --convert-to pdf car.svg 
convert /out/car.svg -> /out/car.pdf using filter : draw_pdf_Export
Overwriting: /out/car.pdf

real	0m7.889s
user	0m5.882s
sys	0m0.460s


$ time google-chrome --headless --disable-gpu --print-to-pdf car.svg
[1219/203135.191113:INFO:headless_shell.cc(653)] Written to file output.pdf.

real	0m0.703s
user	0m0.139s
sys	0m0.058s

Debug build of the latest LibreOffice 7.4 master:

$ time ./instdir/program/soffice --headless --convert-to pdf car.svg 
...
convert /out/car.svg -> /out/car.pdf using filter : draw_pdf_Export
...

real	1m2.630s
user	1m0.568s
sys	0m0.781s
Comment 1 Rainer Bielefeld Retired 2021-12-20 07:28:57 UTC
NOT reproducible with suggested Installation of Version 7.2.4.1 (x64) / LibreOffice Build  27d75539669ac387bb498e35313b970b7fe9c4f9
CPU threads: 12; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL: win; Locale: de-DE (de_DE); UI: de-DE; Calc: threaded;  Elementary Theme; My normal User Profile, on PC with AMD Ryzen 5 3600 6-Core Processor 3.60 GHz 16GB RAM, SSD:

Open in DRAW and import to DRAWing take a fraction of a second.
PDF export (300 DPI, jpg 95%) takes 2s or so
Comment 2 Hossein 2021-12-20 08:34:30 UTC
(In reply to Rainer Bielefeld Retired from comment #1)
> NOT reproducible with suggested Installation of Version 7.2.4.1 (x64) /
> LibreOffice Build  27d75539669ac387bb498e35313b970b7fe9c4f9
> CPU threads: 12; OS: Windows 10.0 Build 19042; UI render: Skia/Raster; VCL:
> win; Locale: de-DE (de_DE); UI: de-DE; Calc: threaded;  Elementary Theme; My
> normal User Profile, on PC with AMD Ryzen 5 3600 6-Core Processor 3.60 GHz
> 16GB RAM, SSD:
> 
> Open in DRAW and import to DRAWing take a fraction of a second.
> PDF export (300 DPI, jpg 95%) takes 2s or so

May be my computer is not that fast (although I use a recent generation of Core i7). Could you please compare the output for these on your machine?

$ time libreoffice7.2 --headless --convert-to pdf car.svg 

$ time google-chrome --headless --disable-gpu --print-to-pdf car.svg
Comment 3 Buovjaga 2022-01-24 09:36:52 UTC
Opens very fast with master of Linux 7.4 bibisect repo (similar results for all VCL backends)

real    0m2,946s
user    0m2,820s
sys     0m0,166s

Tested with export OOO_EXIT_POST_STARTUP=1

PDF export time:

real    0m5,548s
user    0m5,330s
sys     0m0,240s

Same with oldest of Linux 6.3 repo

Chromium time:

real    0m1,468s
user    0m0,211s
sys     0m0,196s

I guess we can set to NEW, then. You can disregard the debug build times as they will always be slow.