LINUX.IE, website of the Irish Linux Users' Group
Tux rules!

   
Home
New Users
Articles
Download
Projects
Community
Vendors

  Print Version
Email to...
 
Archives:


planetILUG

Recent News

News Archive


Join the
ILUG
on FaceBook


Join the
ILUG
on LinkedIn


Join the
ILUG SETI
Group



















 
 :: Mailing Lists

[ILUG] D11, basically implement X11 server like an os kernel

[ILUG] D11, basically implement X11 server like an os kernel

Caolan McNamara Caolan.McNamara at ul.ie
Thu Aug 5 16:42:04 IST 1999


On 05-Aug-99 Paul Jakma wrote:
>
>
>> This is not a X is bad argument, or a call for a specialized 
>> extention, just an 
>> investigation into an interesting implementation / 
>> enhancement of an XServer.
>
>something i was thinnking of: the majority of X requests are from toolkits,
>qt, gtk+, motif.. whatever.
>
>why not add a toolkit extension to X? Ie something where a toolkit could
>register a set of X procedures with the X server. And from there on the
>toolkit could refer to the procedure (possibly with parameters) instead of
>having to send all the low-level X stuff again.
>
>eg, gtk+ could register a GTK_scrollbar <with parameters> procedure with the
>Xserver, and give it the X commands needed, which the X server caches. From
>there on that instance of gtk+ could ask for GTK_scrollbar..<up, x,y,
>whatever> and the Xserver would know what to do.. so smoother scrolling.
>Less system time taken up with passing X requests around, so more time for
>passing important stuff across the wire, like pixmaps, etc.
>
>A new instance of gtk+ could check first to see if something is registered,
>and if it is bypass the registering procedure.
>
>it'd cause a slight memory bloat granted, but not that much. I'd guess no
>more than 1MB even with a couple of toolkits active.

Im not so sure about that one, basically cache frequenty called sequences of 
routines and associate a single message id with them ? Send one request to 
"scroll window and all subsindows upwards by X", rather than multiple calls to 
move all the subwindows and the parent seperately ?

Something like that would offer some speed advantages, but I suspect that it 
would be reasonably small. What you want to do is in effect move chunks of
the gtk toolkit (or whatever) logic into the Server itself? No great harm I 
suppose, and in the case that the extension can't be found you fall back to the 
standard way of doing it. Hmm, yeah i think in principle you could do it. 

I think first we have to find out where X spends most of its time and space and 
reduce that. If as the sgi paper suggests, its the time spend serializing and
unpacking the message passing, then something like this where you are basically
compressing the sequence of protocol messages to achieve something to a single
protocol message to the Xserver to do the complicated gtk task, would reduce 
this bottleneck.

You only get a substantial advantage if the actual gtk functions actually *are*
doing a lot of X work. Many of the gdk calls are just wrappers around single
X functions, so no there'd be no advantage there at all for gdk.

The more I think about it the less i'm sure one way or the other about this one.
The bigger the gtk calls and the more work they do for you the better this will 
work. If the gtk calls are short and have small well defined functions, then its
not really worth it.

I believe that a lot of the problem is when you request something from the
Xserver. When you are pushing *to* the Xserver your calls are buffered and
only flushed when a) the buffer files b) you request something from the server.
So every time you ask the server for something you lag it down, so it might
depend more on how much does gtk widgets request *from* the server. 

I think its a worthwhile idea alright, and it just might work. One small catch 
would be that every tom dick and harry toolkit would want in on the act :-). One
could compare gtk in the server vs no gtk as a CISC vs RISC style argument. 
Where the compiler (client app) would rather have more complex instruction in 
the chip (Xserver) so as to make his life easier, and the expense of making the 
chip more complex, and requiring a stack more logic. I reckon that if the D11 
think could be gotten off the ground that'd it be a hell of a lot easier to sell
as a concept. Of course as D11 is the exact same as X11, you could do both :-)

C.
 
>
>feasible?
>
>paul.

Real Life: Caolan McNamara           *  Doing: MSc in HCI
Work: Caolan.McNamara at ul.ie          *  Phone: +353-86-8790257
URL: http://www.csn.ul.ie/~caolan    *  Sig: an oblique strategy
What are the sections sections of?




More information about the ILUG mailing list
Read this without the formatting.
                                                                                                    

 

Hosted by HEAnet


Maintained by the ILUG website team. The aim of Linux.ie is to support and help commercial and private users of Linux in Ireland. You can display ILUG news in your own webpages, read backend information to find out how. Networking services kindly provided by HEAnet, server kindly donated by Dell. Linux is a trademark of Linus Torvalds, used with permission. No penguins were harmed in the production or maintenance of this highly praised website. Looking for the Indian Linux Users' Group? Try here. If you've read all this and aren't a lawyer: you should be!
RSS Version
Powered by Dell