Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!usc!elroy.jpl.nasa.gov!sdd.hp.com!spool.mu.edu!snorkelwacker.mit.edu!stanford.edu!msi.umn.edu!cs.umn.edu!atc!mike From: mike@atc.SP.Unisys.COM (Mike Grenier) Newsgroups: comp.windows.x Subject: Fast Updates Message-ID: <1991May17.220145.22765@atc.SP.Unisys.COM> Date: 17 May 91 22:01:45 GMT Organization: Unisys - Air Traffic Control Lines: 30 We are trying to bring up an Air Traffic Control display on an X window terminal and there seems to be some problems. An individual track (entity) on the screen may move at any time and they more overlap other tracks. One approach would be to use XOR when updating so one does not have to regenerate the entire screen when an object moves but that approach leaves holes where the lines cross. Another approach would be to use double buffering but the box being used doesn't have the CPU power to regenerate the screen every half second or so. Under the TIGA library on the PC, we could use the ADD function instead of an XOR which cause the resulting 8-bit deep pixel to be set to current value (say showing part of one entity) + the new pixel value of the new entity. Normally this would result in a different color but in our case the color map is set up so that anything over say 10 would be green and the pixel value minus 10 would represent the number of lines layered on this pixel location. When moving an object, one would use the corresponding SUBTRACT function and redraw the objects current position followed by and ADD in the new position. This works great until one gets over 255 - 10 lines crossing on a given pixel but in general this is not a problem. Does anyone have any good ideas for updating these objects on an X screen short of double buffering? -Mike Grenier mike@sp.unisys.com