Martin Vermeer wrote:


Would it be an idea to first try LyX's own -dbg painting, to see how
repainting is being done? Especially in problem cases LyX may be simply
doing too much.
"lyx -dbg painting" produces no extra output,
other than telling me that it sets the debug level to 'painting'

"lyx -dbg workarea" prints this for each "W" I type when the
whole paragraph is visible in the main window:

WorkArea::redraw screen
InsetCache contains:

When some of the paragraph is outside of the window,
each "W" typed prints more debug output:



BufferView::updateMetrics
InsetCache contains:
WorkArea::redraw screen
InsetCache contains:

Combining "workarea" and "paining" gives more output:
Output per "W" with whole paragraph visible:

void lyx::BufferView::updateMetrics(bool)
y1: 0 y2: 69 pit: 0 singlepar: 1
WorkArea::redraw screen
               *** START DRAWING ***

{01}
               *** END DRAWING  ***
InsetCache contains:



Causing a line wrap gives more output, as expected:


void lyx::BufferView::updateMetrics(bool)
y1: 0 y2: 272 pit1: 0 pit2: 0 npit: 1 singlepar: 1
BufferView::updateMetrics
InsetCache contains:
WorkArea::redraw screen
               *** START DRAWING ***

{10}
{10}
{10}
{10}
{10}
{10}
{10}
{10}
               *** END DRAWING  ***
InsetCache contains:


Having some of the paragraph off-screen now gives a lot of extra output:
void lyx::BufferView::updateMetrics(bool)
y1: -276 y2: 286 pit: 0 singlepar: 1
void lyx::BufferView::updateMetrics(bool)
y1: -276 y2: 286 pit1: 0 pit2: 0 npit: 1 singlepar: 0
BufferView::updateMetrics
InsetCache contains:
WorkArea::redraw screen
               *** START DRAWING ***

{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
{11}
               *** END DRAWING  ***
InsetCache contains:

Now this is interesting. If the number of {}'s is an indication, the LyX does
18 times as much work when typing in a partially visible paragraph. And yes,
with this window size, there were exactly 18 lines in the paragraph.

I hope this gives an indication of what's wrong.

Helge Hafting

Reply via email to