Bug 470734 - Printing is extremely slow (Win10)
Summary: Printing is extremely slow (Win10)
Status: REPORTED
Alias: None
Product: okular
Classification: Applications
Component: printing (show other bugs)
Version: 23.04.0
Platform: Microsoft Windows Microsoft Windows
: NOR normal
Target Milestone: ---
Assignee: Okular developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2023-06-07 07:02 UTC by Dirk Hagedorn
Modified: 2023-06-07 09:26 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Dirk Hagedorn 2023-06-07 07:02:47 UTC
SUMMARY

Printing is extremely slow in comparison to Adobe's Acrobat Reader, with Okular (23.04.0) it takes up to 15 seconds per page (not per job, per page!), even on a Laser Printer that prints up to 30 pages/minute

STEPS TO REPRODUCE
1. Open a PDF with multiple pages
2. Print

OBSERVED RESULT

The laser printer prints first page, pauses up to 15 seconds, prints next page, pauses 15 seconds, ...
Okular's Print Preview is slow, too. It takes 16 seconds to open the preview window.

EXPECTED RESULT

The laser printer prints one page after the other without pausing as it does when I print the same file with Acrobat Reader. Two print jobs with 16 + 18 = 34 pages took more than 7 minutes with Okular where it took about a minute with Acrobat Reader.

SOFTWARE/OS VERSIONS
Okular: 23.04.0 (installed from Microsoft Store)
Windows:  Win10 Pro
KDE Frameworks Version:  5.105.0
Qt Version:  5.15.9
Printer: Kyocera TASKalfa 3212i (2 MB RAM)

ADDITIONAL INFORMATION

The opened PDF is a password protected file with 16 pages, it's 81 KB (Kilobytes) small, uses mostly text and some lines. When printing into a PDF again (using FreePDF), it creates a PDF of nearly 5 MB (Megabytes), that doesn't use text but bitmaps (one cannot select text anymore with Okular's text tool).

Assumption: Okular sends (large) rendered bitmaps to the printer (sub system of Windows) where Acrobat Reader sends (small) texts. The printer cannot store the whole Okular print job in its RAM and/or has to re-render each page, where the printer can easily store the whole Acrobat print job in its RAM and is faster when rendering the given text.
Comment 1 Dirk Hagedorn 2023-06-07 07:06:27 UTC
Correction: The printer has 2 GB RAM (2048 MB)
Comment 2 Oliver Sander 2023-06-07 09:26:31 UTC
> Assumption: Okular sends (large) rendered bitmaps to the printer (sub system of Windows) where Acrobat Reader sends (small) texts.

That's essentially correct.  The code is in the method PDFGenerator::print in the file generator_pdf.cpp.

Improving the situation is not particularly difficult, but it needs somebody with both the time to do it and a Windows machine.