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
