Path: utzoo!attcan!uunet!seismo!dimacs.rutgers.edu!rutgers!ucsd!ucbvax!agate!shelby!msi.umn.edu!cs.umn.edu!uc!msc.EDU!ken From: ken@msc.EDU (Ken Chin-Purcell) Newsgroups: comp.sys.sgi Subject: Re: X11 Optimizations? Message-ID: <1990Nov2.084053@msc.EDU> Date: 2 Nov 90 14:40:53 GMT References: <9010311759.AA18802@noname> Sender: news@uc.msc.umn.edu Reply-To: ken@msc.umn.edu Organization: Minnesota Supercomputer Center Lines: 38 James Cerrato writes: |> We are building a graphics application using X11R4 [...] |> "For the best performance, when the client and server reside on the same |> machine, communication between them is often implemented using shared |> memory." That is probably too sweeping of a statement. For example, the communication between client and server on a DECstation 5000 (fastest X I've used so far) doesn't use shared memory, and it is very quick. A shared memory connection can give a performance kick when transffering a lot of data, such as with an XPutImage or XGetImage call. To optimize these calls the noble MIT programmers wrote an unofficial server extension to implement shared memory image transfers. Using the extension, you (the X window client programmer) place the image data in a shared memory segment before calling XShmPutImage or XShmGetImage. The request goes through the normal socket channels, but the image data skips the slow road. However, the MIT X11R4 server doesn't build on the SGI, so we can't use the shared memory extension. For my application XPutImage isn't a bottleneck. Currently I'm using the MIT X11R4 distribution to build clients. I run my X clients against the SGI X11R3'ish server. Except for a bug with pulldown menus in Motif my clients are functional, but not very fast. The performance problem though is not the connection, it's that SGI hasn't optimized their server yet. To SGI: X windows is important to me, and I'm looking forward to a faster server. I would like a level of integration between X and gl where I could render in gl but have window configuration handled by X. I am only using X for the user interface toolkits; I don't need to mix X and gl graphics in the same window. -- -- Ken