Menu

#442 WM_SETREDRAW in UpdateScrollBars cause lots of redrawing

open
nobody
None
5
2013-02-26
2013-02-26
No

The fixes proposed here:
https://sourceforge.net/tracker/?func=detail&aid=3463370&group_id=3221&atid=103221

... and implemented in UpdateScrollBars tend to cause a lot of redrawing, making SynEdit feel rather sluggish.

if Visible then SendMessage(Handle, WM_SETREDRAW, 0, 0); (line 5492)
if Visible then SendMessage(Handle, WM_SETREDRAW, -1, 0); (line 5580)
if fPaintLock=0 then
Invalidate;

This 'fix' does indeed fix the filckering scrollbar problem, but the problem is that the whole window seem to get invalidated a lot more than needed, even when the scroll bars don't move.

SynEdit even got up to the point of being unacceptably slow in the Orwell Dev-C++ project, because it has a code folding implementation, which slows down drawing quite a bit. All these extra slow full redraws /arewere just unacceptable.

I'm using the final ANSI version of SynEdit (1.457.2.12 2007/07/11 22:41:34), although modified to support code folding. This bug however, is also present in the standard ANSI version (was it 2.0.6?).

Discussion


Log in to post a comment.

MongoDB Logo MongoDB