Graphics preview in parallel

Pavel Sanda sanda at lyx.org
Tue Jun 23 13:52:12 UTC 2026


Hi all,

it's my long-term pain to wait for lyx loading the graphics when conversion
chain is needed for the view. With longer reports with tons of images one has
to wait while most of the cores are idling. Years back I created some patch
to parallelize the preview chain, but it kept crashing for strange reason.

I looked into the issue again now with claude and have decent version which
does not crash anymore. 

1. The attached code triggers in parallel min(4, #of threads on your machine)
   conversion chains and thus process the conversions fater. I kept the cap on 4 
   so we don't overload the machine because of RAM.
   Might slow initial load times on some machines.
   I prefer it this way but I could see someone might not like it, objections?


2. I am introducing lfun which would trigger autoload of all previews. I found
   myself regularly to scroll through the whole document, just that the load
   process start and I dont have to wait later when working with the rest of
   document. That's somewhat ridiculous. I do not propose to add this to UI
   and keep it for power user who can bind it by shortcut.

   Completely different approach would be just autoload everything on start
   by default, but I don't like that option - the preview can take on longer
   documents quite a while and slows down all editation.

   It's in the second patch, and it does not interfere with the rest of the
   codebase, so should be less controversial. Currently childern are included,
   but I am thinking of striping that part.
   Anyway are there some objections to include this lfun?


Pavel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 4_threads_preview.patch
Type: text/x-diff
Size: 2303 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20260623/189bc7c5/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: buffer-load-graphics.patch
Type: text/x-diff
Size: 4985 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20260623/189bc7c5/attachment-0001.bin>


More information about the lyx-devel mailing list