#724 Brace highlighting causes costly full redraw

open-wont-fix
Scintilla (796)
2
2008-09-10
2008-09-09
Jason Oster
No

I noticed this after building Geany on OS X using GTK+ Quartz. Scintilla runs noticeably slow under this particular configuration (OS X 10.5, 1.5GHz PowerPC G4, 1.25GB RAM).

The brace highlighting code causes the full Scintilla display to redraw, including the selection margin. (Easily seen using Quartz Debug and the "flash screen updates" option.)

This is a huge performance hit just to change the color of two characters.

I tried changing the Redraw() call in SetBraceHighlight() to InvalidateRange(), but it does not help because CheckForChangeOutsidePaint() can cancel any current painting and force the full display to redraw any way.

I hope I haven't misdiagnosed this; I'm unfamiliar with Scintilla's painting code.

Discussion

  • Neil Hodgson

    Neil Hodgson - 2008-09-10
    • labels: --> Scintilla
    • priority: 5 --> 2
    • assigned_to: nobody --> nyamatongwe
    • status: open --> open-wont-fix
     
  • Neil Hodgson

    Neil Hodgson - 2008-09-10

    Changing the brace highlight also changes the indentation highlight - the indentation guide associated with the braces highlights.

     
  • Jason Oster

    Jason Oster - 2008-09-10

    OK, I just haven't seen this behavior in Geany.

     
  • Nobody/Anonymous

    This issue also exists on Fedora, with both Scite, Geany and Code::Blocks.

     

Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.





No, thanks