discuss-gnustep
[Top][All Lists]
Advanced

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

Re: XCB (Was Re: Window managers ( was Re: newbie question ))


From: David Chisnall
Subject: Re: XCB (Was Re: Window managers ( was Re: newbie question ))
Date: Thu, 23 Apr 2009 20:32:06 +0100

On 23 Apr 2009, at 19:32, hns wrote:

Cairo uses Xrender, so should be very fast over a network.
I theory, at least.  I am not convinced GNUstep's use of Cairo is  
particularly efficient in this respect.  One thing I've suggested  
before, which can have a big impact on speed (at the cost of some  
memory, so good for remote display, not so good for mobile devices,  
although the iPhone uses it extensively so perhaps the cost is not so  
high with small screens / windows) is implementing CoreAnimation's  
layer model in GNUstep back.  With OS X 10.5, individual views can opt  
to have a layer associated with them.  This is an off-screen pixmap  
for the view and when the layer containing that layer is drawn, it  
simply composites the two together in the display server.  This is  
very fast, for example, for drawing buttons, where you will have the  
two states stored in different layers, and the button label stored in  
a third.  For any button state, you just need to composite two of them  
together and get the final result.  I believe when you do this with  
the X11 back end, you send the two pixmaps to the server and then draw  
them (and lose alpha), but when you do this with the Cairo back end  
you composite them with the client, then send the resulting pixmap to  
the server (using a blocking call, I believe, although I could be  
wrong there).
David




reply via email to

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