Helge Hafting wrote:
Vincent van Ravesteijn - TNW wrote:
 I'm having real problems working with LyX and child document. It's
very very
slow when typing text.
>> This is a very mysterious mystery.
rh

A possible explanation for this.
For each keystroke, updateMacros() is called, which calls

Ouch!
Isn't this something that is necessary only if you're actually dealing with a macro? (making one, or filling in parameters)? If so, perhaps check that first and just return if there is nothing macroish to do?

InsetInclude::loadIfNeeded(), which then calls
theBufferList::getBuffer(). This function iterates over all loaded
buffers and if the wanted file is not loaded yet it will be loaded.
I have a hard time understanding why any kind of filesystem check might be necessary on _each keystroke_. Move the cursor into a file-backed inset - sure. But not otherwise? The main LyX job is typing text and that ought to work with a minimum of per-keystroke checks. I guess this behaviour is unintentional.

Last time I touched that part, the full updateLabel() call was done only when a new section or caption was created, not with each keystroke. Even when modifying a section, only the relevant toc item was changed.

If this has changed, this means that there's a superfluous additional call somewhere.

Abdel.

Reply via email to