mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-29 05:01:49 +00:00
Remove some redundant calls to updatePosCache
The setting of insets positions was done twice in updateMetrics.
When one of the paragraph is a huge branch, this can be very expensive.
This leads to a 17% improvement on updateMetrics time on a scrolling test.
Part of bug #12297
(cherry picked from commit d19ade9a61
)
This commit is contained in:
parent
13c7fd78c6
commit
e51f9d9f88
@ -3216,7 +3216,6 @@ void BufferView::updateMetrics(Update::flags & update_flags)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
anchor_pm.setPosition(d->anchor_ypos_);
|
anchor_pm.setPosition(d->anchor_ypos_);
|
||||||
tm.updatePosCache(d->anchor_pit_);
|
|
||||||
|
|
||||||
LYXERR(Debug::PAINTING, "metrics: "
|
LYXERR(Debug::PAINTING, "metrics: "
|
||||||
<< " anchor pit = " << d->anchor_pit_
|
<< " anchor pit = " << d->anchor_pit_
|
||||||
@ -3232,7 +3231,6 @@ void BufferView::updateMetrics(Update::flags & update_flags)
|
|||||||
y1 -= pm.descent();
|
y1 -= pm.descent();
|
||||||
// Save the paragraph position in the cache.
|
// Save the paragraph position in the cache.
|
||||||
pm.setPosition(y1);
|
pm.setPosition(y1);
|
||||||
tm.updatePosCache(pit1);
|
|
||||||
y1 -= pm.ascent();
|
y1 -= pm.ascent();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -3246,7 +3244,6 @@ void BufferView::updateMetrics(Update::flags & update_flags)
|
|||||||
y2 += pm.ascent();
|
y2 += pm.ascent();
|
||||||
// Save the paragraph position in the cache.
|
// Save the paragraph position in the cache.
|
||||||
pm.setPosition(y2);
|
pm.setPosition(y2);
|
||||||
tm.updatePosCache(pit2);
|
|
||||||
y2 += pm.descent();
|
y2 += pm.descent();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user