Path: utzoo!utgpu!jarvis.csri.toronto.edu!cs.utexas.edu!yale!think!snorkelwacker!bloom-beacon!EXPO.LCS.MIT.EDU!keith From: keith@EXPO.LCS.MIT.EDU (Keith Packard) Newsgroups: comp.windows.x Subject: Re: Question about XCopyArea Message-ID: <9002151916.AA03958@xenon.lcs.mit.edu> Date: 15 Feb 90 19:16:56 GMT References: <401@ai.etl.army.mil> Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Lines: 24 > I'm working on a graphics application in X, and I need a fast copy routine for > pixmaps. > The area copied is either 512x512 or 256x256. I cannot use something like > bcopy(), since I need to perform logical operations with the copy. > We are now using X11R4 pretty much straight from MIT, on a Sun3/260 > with a color monitor. The MIT R4 server is heavily tuned for copy-mode bitblt. All other rasterops go through a very slow convoluted path which runs about 10 times slower. It's not that the other rasterops are naturally that slow, but the code checks the rasterop for every longword copied instead of expanding the code 16 times, once per rasterop. The old R3 server actually did expand the code 16 times, but that broke many compilers as the resulting function was rather large. One potential solution would be to optimize the particular rasterop your code needs by duplicating the copy-mode code and modifying it to perform the required rasterop. Keith Packard MIT X Consortium