bug-gnustep
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re : Re: Text selections flicker unnecessarily


From: David Ayers
Subject: Re : Re: Text selections flicker unnecessarily
Date: Wed, 22 May 2002 18:18:32 +0200




--------------------------------------------------------------------------
2002 May 22 - 14:15
Nicola Pero <nicola@brainstorm.co.uk>
--------------------------------------------------------------------------
>
>> Hi,
>> 
>> When highlighting text GSSimpleLayoutManager calls NSHighlightRect() for
>> each line of selected text. Since each NSHighlightRect() call flushes
>> the graphics this is quite slow and flickers a lot. I've attached a
>> patch that changes GSSimpleLayoutManager to use PScompositerect instead.
>> I'm not sure that NSHighlightRect() should really flush, but other
>> callers seem to depend on it.
>
>I changed NSHighlightRect() not to flush the window.
>
>Many callers (also in NSSplitView and in NSTableView) need to perform
>multiple highlight rects and have the flushwindow performed only after the
>last one ... in some cases the manual flush window would be wasteful even
>after the last one since it would already done automatically later.
>
>If in all these cases we start highlighting manually using PS composite
>operators (as was already happening in NSSplitView!) to avoid the
>flushWindow, then why having the NSHighlightRect() function at all. :-)
>
>So I changed it not to flush, and updated callers to flush manually when
>appropriate (having the flush done manually in the callers also allow more
>control on when the flush is done, and maybe better optimizations in some
>cases by having the minimal number of flushes as needed).
>
>Thanks for pointing the thing out!  We definitely need to remove some
>useless redrawing and flickering.
>
>
>_______________________________________________
>Bug-gnustep mailing list
>Bug-gnustep@gnu.org
>http://mail.gnu.org/mailman/listinfo/bug-gnustep
>

reply via email to

[Prev in Thread] Current Thread [Next in Thread]