Re: final speedup patch ...



Hi Federico,

On 17 Dec 2001, Federico Mena Quintero wrote:
> The problem happens because with the new window, all of the pixmaps
> must be transferred to the server.

        Quite possibly - as I say, I know nothing of that code, and very
little of what you're going on about.

> The general problem is that you are not making use of the resources
> that you already have in the server.  Bonobo-UI may already have
> rendered a pixbuf (a client-side resource) and drawn it to a pixmap (a
> server-side resource), but it never re-uses pixmaps.  It just
> re-renders the pixbufs and re-sends them to the server, creating new
> pixmaps.  Sending the data is slow.

        I have not read the code where this is done, neither did I write
it. In general optimizing something one doesn't understand is probably a
mistake :-) since you've done the analysis I'd be most glad if you would
hack up a nice association between a cached GdkPixbuf * and the various
rendered server resources inside the icon renderer.

> In general, you should not need to render a particular pixbuf more
> than once unless you have a purging cache.  You just have to keep the
> pixmaps on the server and switch between them as appropriate.

        I can well believe it; is this the case both for menu and toolbar
pixmaps or only toolbar ones ?

> E.g. render the normal pixbuf for the FooCommand, send it to the
> server; this creates pixmap A.  Render the insensitive pixbuf for the
> FooCommand and send it to the server; this creates pixmap B.  In the
> future, when the state of FooCommand changes, switch between pixmaps A
> and B as appropriate --- they are already in the server, so you don't
> need to render anything or send it over the wire.

        Sounds ideal - I look forward to the patch.

        Regards,

                Michael.

-- 
 mmeeks gnu org  <><, Pseudo Engineer, itinerant idiot




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