Re: Commit: rework edit methods


Subject: Re: Commit: rework edit methods
From: Martin Sevior (msevior@mccubbin.ph.unimelb.edu.au)
Date: Sat Feb 10 2001 - 18:13:52 CST


On Sat, 10 Feb 2001, Aaron Lehmann wrote:

> 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.
>

I'm sure this could be done.

> > 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.
>

Maybe we should look at how gnome-canvas does this. Gnumeric does not have
our expose problem at all. Whoops! Gnome is evil right? Sorry I couldn't
help it :-)

But I am serious about looking at gnome-canvas.

Cheers

Martin



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