Jean-Marc Lasgouttes a écrit :
"Richard" == Richard Kleeman <[EMAIL PROTECTED]> writes:

Richard> If this is a compilation optimization issue let me know and I
Richard> can recompile with appropriate flags (I just used ./configure
Richard> --with-frontend=qt).

Unfortunately, I think this sluggishness is here in 1.4. We have
patches in the pipeline to improve speed when typing, but not for
moving around in the document.

I think we might have one that helps... attached.

Abdel.

Actually I do not really see why 1.4
should be slower than 1.3 when drawing (since we do a full redraw of
the text anyway).

JMarc


Index: QWorkArea.C
===================================================================
RCS file: /var/cvs/lyx/lyx-devel/src/frontends/qt2/QWorkArea.C,v
retrieving revision 1.29
diff -u -r1.29 QWorkArea.C
--- QWorkArea.C 18 Jul 2005 00:29:12 -0000      1.29
+++ QWorkArea.C 4 Jan 2006 11:52:18 -0000
@@ -57,7 +57,10 @@
 
        content_->show();
 
-       content_->setBackgroundColor(lcolorcache.get(LColor::background));
+       // It is said that this help reduce flicker
+       content_->setBackgroundMode(NoBackground);
+       // If we go back to a custom backgound call:
+       // content_->setBackgroundColor(lcolorcache.get(LColor::background));
 
        QHBoxLayout * vl = new QHBoxLayout(this);
        vl->addWidget(content_, 5);
Index: qscreen.C
===================================================================
RCS file: /var/cvs/lyx/lyx-devel/src/frontends/qt2/qscreen.C,v
retrieving revision 1.29
diff -u -r1.29 qscreen.C
--- qscreen.C   19 May 2005 16:34:02 -0000      1.29
+++ qscreen.C   24 Jan 2006 16:14:34 -0000
@@ -144,7 +144,7 @@
                break;
        }
 
-       owner_.getContent()->repaint(
+       owner_.getContent()->update(
                cursor_x_, cursor_y_,
                cursor_w_, cursor_h_);
 }
@@ -160,5 +160,5 @@
               &nocursor_pixmap_, 0, 0, cursor_w_, cursor_h_);
 
        owner_.getContent()
-               ->repaint(cursor_x_, cursor_y_, cursor_w_, cursor_h_);
+               ->update(cursor_x_, cursor_y_, cursor_w_, cursor_h_);
 }

Reply via email to