Re: [scintilla] Background flicker on gtk3

50 views
Skip to first unread message

Neil Hodgson

unread,
Feb 5, 2013, 4:57:51 PM2/5/13
to scintilla...@googlegroups.com
TomPh:

> I'm using sci 324 on gtk 3.4.4. Background flicker when moving/scrolling makes scintilla practically unusable on this platform, for me at least

There's more to the platform than just the version of GTK+. Ubuntu and its overlay scroll bars may change performance and behaviour.

> // Avoid background drawing flash
> gtk_widget_set_double_buffered(widtxt, FALSE);

Scintilla is normally used with an internal pixmap buffer that holds a single line.
http://www.scintilla.org/ScintillaDoc.html#SCI_SETBUFFEREDDRAW

When scrolling text, Scintilla tries to avoid redrawing by blitting the text in ScintillaGTK::ScrollText. Since this is using gdk_window_scroll it is changing the screen without going through GTK+'s buffer.

You should check with Scintilla 3.2.2 as that was before this change:
http://scintilla.hg.sourceforge.net/hgweb/scintilla/scintilla/rev/c39df2a9f97a

Neil

TomPh

unread,
Feb 11, 2013, 3:22:55 AM2/11/13
to scintilla...@googlegroups.com, nyama...@me.com


On Wednesday, 6 February 2013 08:57:51 UTC+11, Neil Hodgson wrote:
TomPh:

> I'm using sci 324 on gtk 3.4.4. Background flicker when moving/scrolling makes scintilla practically unusable on this platform, for me at least

   There's more to the platform than just the version of GTK+. Ubuntu and its overlay scroll bars may change performance and behaviour.

     OK. I use xfce4, Mageia 2, i586
 
> // Avoid background drawing flash
> gtk_widget_set_double_buffered(widtxt, FALSE);

   Scintilla is normally used with an internal pixmap buffer that holds a single line.
http://www.scintilla.org/ScintillaDoc.html#SCI_SETBUFFEREDDRAW

   When scrolling text, Scintilla tries to avoid redrawing by blitting the text in ScintillaGTK::ScrollText. Since this is using gdk_window_scroll it is changing the screen without going through GTK+'s buffer.

    SCI_SETBUFFEREDDRAW is explicitly enabled, even if it weren't the default.
 
   You should check with Scintilla 3.2.2 as that was before this change:
http://scintilla.hg.sourceforge.net/hgweb/scintilla/scintilla/rev/c39df2a9f97a
 
No improvement with Sci 3.2.2. I may be imagining this, but perhaps the appearance of the flashing is a bit different.

TomPh
 
Reply all
Reply to author
Forward
0 new messages