Newsgroups: comp.windows.x Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!mintaka!bloom-beacon!dont-send-mail-to-path-lines From: SAVCHENKO@cgi.COM (Alex Savchenko) Subject: RE: Fast Updates Message-ID: <9105202148.AA18253@expo.lcs.mit.edu> Sender: daemon@athena.mit.edu (Mr Background) Organization: The Internet Date: 20 May 91 21:27:00 GMT Lines: 46 In-Reply-To: Mike Grenier's message of Fri, 17 May 1991 22:01:45 GMT <1991May17.220145.22765@atc.SP.Unisys.COM> ) ) 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. ) You may also try to play with dynamic modification of colormap to minimize flicker by allocating several bit planes (in general case: color planes) to keep sequence of frames and clearing them all when you run out of planes. here's scenario for 3 frame buffering: Initial colormap b: 000X - bicolor background f1:001X - frame1 color f2:01XX - frame2 color f3:1XXX - frame3 color Initial State: Everything set to b; Drawing: 1. Draw frame1 with f1 (frame1 color != bicolor background) 2. Modify Color(f1) = Color(b); Draw frame2 with f2; 3. Modify Color(f2) = Color(b); Draw frame3 with f3; 5. Erase with bit mask 111X, reset Color(f1), Color(f2) 6. Repeat from 1. Alex. Carnegie Group Inc., Pittsburgh, PA e-mail: savchenk@cgi.com