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