Return to BSD News archive
Xref: sserve comp.os.386bsd.apps:1027 comp.os.linux.misc:10859 Path: sserve!newshost.anu.edu.au!munnari.oz.au!bunyip.cc.uq.oz.au!harbinger.cc.monash.edu.au!msuinfo!agate!howland.reston.ans.net!pipex!sunic!EU.net!news.eunet.fi!news.funet.fi!nntp.hut.fi!nntp!sja From: sja@snakemail.hut.fi (Sakari Jalovaara) Newsgroups: comp.os.386bsd.apps,comp.os.linux.misc Subject: Re: DOOM for X Date: 12 Mar 94 15:47:12 GMT Organization: Helsinki University of Technology, Finland Lines: 28 Distribution: inet Message-ID: <SJA.94Mar12174713@gamma.hut.fi> References: <2lkpg5$8hn@Tut.MsState.Edu> <hastyCMEw58.FMr@netcom.com> <1994Mar10.123047.15912@swan.pyr> <hastyCMGpA7.Gu5@netcom.com> <2lo4m0$sdt@bosnia.pop.psu.edu> NNTP-Posting-Host: gamma.hut.fi In-reply-to: barr@pop.psu.edu's message of 10 Mar 1994 16:49:52 -0500 > I agree that X the wrong platform for doing high-speed and > time-critical graphics applications like video-style games. There are > extensions (not SHM) that help a little, but there are lots of > advantages to taking direct control of the hardware. The result is > _not_ client-server. To get high speed graphics on X you just need to re-write the server: - At program startup, map the X server code into the application program memory space (e.g. as a shared library). - In every Xlib call, check if the display to be accessed is local. If not, send a network X request as usual. - For local displays, call the appropriate routine in the server. The server code should be extended to do appripriate locking for its global data and display hardware. No network delays, no network packet building, no copying of images between processes, no process context switches. Of course, a badly behaving process can screw your display - but that's life (cf. xmelt.) So your video hardware has commands that don't map well to Xlib functions? You may want to define extensions for them. And perhaps implement slower emulation routines for programs that want to be portable. Now, whether this still qualifies as "client-server" is something of a philosophical question. ++sja