WebCore's text selection improvements

David Hyatt hyatt at apple.com
Wed Oct 1 16:15:04 CEST 2003


On Oct 1, 2003, at 9:04 AM, Dirk Mueller wrote:

> Why? Are your eyes able to see more than 25 updates / second?
>
> It took us a long time to get this installed in khtml, and I don't see 
> a
> reason why it should get removed again. There are plenty of sites that
> trigger 100% CPU usage by triggering repaints all the time. It might 
> be less
> of an issue for your platform which has a fast painting path, but X 
> servers
> are really slow and we can easily starvate everything by painting full 
> speed.
>
> So what is your intention behind this?
>

With the repaint timer, then rects get united, since you every time a 
repaint is scheduled before the timer has fired, KHTML's repaint 
scheduler will just union the rects.  More importantly in an 
incremental repainting world where multiple synchronous repaints could 
be scheduled at once by layout, you don't want to unite the rects 
unnecessarily.

Since Panther has a faster painting path that does not unite rects, the 
timer will actually get in the way.  I need to stop the uniting of the 
rects that happens at the KHTML level.

That said, we can #ifdef this if you need the timer to stay.  My issue 
isn't so much with the timer per se as with the fact that it unites 
rects.  However, adding a bunch of logic for khtmlview to track 
individual rects, do coalescing etc., isn't really logic we need, since 
Panther does that for us.

dave



More information about the Khtml-devel mailing list