Re: Commit: rework edit methods


Subject: Re: Commit: rework edit methods
From: Aaron Lehmann (aaronl@vitelus.com)
Date: Sat Feb 10 2001 - 18:00:04 CST


On Sun, Feb 11, 2001 at 10:49:50AM +1100, Martin Sevior wrote:
> Having used Abi in Windows I can attest that scrolling is MUCH faster
> there. I *think* this means that the gtk version of abi should use a
> double buffered gdk. So we draw to off-screen memory then dump that to the
> screen. That way we save several round trips to the Xserver. We also have
> to see if there is some way we don't have to draw the same line 3 times in
> order to avoid character dirt.

Well, I've actually looked at the performance for the GTK fe. There
are many areas in need of optimization. One of these is font
management. Right now we parse the font name and load the font on at
least every single draw. I making it only do this in the setFont
member of XAP_UnixFont (?) or something, but it didnt help since
apparently setFont was called on every draw. There needs to be a
propper caching mechanism.

> For 2.
> This is really slow because Abi honours every expose event and redraws the
> entire screen every time any part of it is uncovered. We can speed this up
> enormously by dropping all but the last expose event in the gdk queue.
> This would also be speed up with the double buffering I mentioned for 1.

I'm not sure how this would work. Redraw performance is one of the
worst problems, but the fix would need to be a little more complicated
than this. If we have one expose event in the queue for the upper-left
corner and one in the queue for the lower-right corner of the window
and we throw one of these away, the redraw will not be right.



This archive was generated by hypermail 2b25 : Sat Feb 10 2001 - 18:01:57 CST