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)

Reply via email to