Abdelrazak Younes wrote:
Hello,
It took a great deal of step by step debugging but my supposition was
right, redoParagraph() is the culprit!
The reason why the slowdown (and the csrss.exe) appears only in the line
following a big formula is because of this code in rowpainter.C, line 1008:
I've removed this code now:
URL: http://www.lyx.org/trac/changeset/16071
Log:
Editing Optimization.
This commits improves considerably math editing in Windows and solves
one crash when viewing the moebius figure in UserGuide.lyx.
Modified:
lyx-devel/trunk/src/rowpainter.C
Modified: lyx-devel/trunk/src/rowpainter.C
URL: http://www.lyx.org/trac/file/lyx-devel/trunk/src/rowpainter.C?rev=16071
==============================================================================
--- lyx-devel/trunk/src/rowpainter.C (original)
+++ lyx-devel/trunk/src/rowpainter.C Mon Nov 27 11:49:24 2006
@@ -1000,22 +1000,6 @@
yy += par.descent();
}
- // Cache one paragraph above and one below
- // Note MV: this cannot be suppressed even for singlepar.
- // Try viewing the User Guide Mobius figure
-
- if (vi.p1 > 0) {
- text.redoParagraph(bv, vi.p1 - 1);
- bv.coordCache().parPos()[&text][vi.p1 - 1] =
- Point(0, vi.y1 - text.getPar(vi.p1 - 1).descent());
- }
-
- if (vi.p2 < pit_type(text.paragraphs().size()) - 1) {
- text.redoParagraph(bv, vi.p2 + 1);
- bv.coordCache().parPos()[&text][vi.p2 + 1] =
- Point(0, vi.y2 + text.getPar(vi.p2 + 1).ascent());
- }
-
// and grey out above (should not happen later)
// lyxerr << "par ascent: " << text.getPar(vi.p1).ascent() << endl;
if (vi.y1 > 0 && !vi.singlepar)