Path: utzoo!attcan!uunet!husc6!bloom-beacon!mit-eddie!uw-beaver!apollo!tweed From: tweed@apollo.COM (David Tweed) Newsgroups: comp.sys.apollo Subject: Re: ...animation Summary: undraw, rather than erase Message-ID: <4064ed4f.313a@apollo.COM> Date: 21 Dec 88 21:09:00 GMT References: <8812201611.AA09712@richter.mit.edu> Reply-To: tweed@apollo.UUCP (David Tweed) Organization: Apollo Computer, Chelmsford, MA Lines: 35 In article <8812201611.AA09712@richter.mit.edu> krowitz@RICHTER.MIT.EDU (David Krowitz) writes: > .... Try to avoid BLT'ing whole screens -- the more > data you have to move, the worse the flickering -- it's > frequently faster to erase only the section of the screen > where something has changed and to redraw that small section. > Take a look at the code for BZONE and STWAR in the ADUS library. > They may give you a few ideas, although they both do line > drawings, not filled-area graphics. > > -- David Krowitz I've done some hacking to BZONE, and written a similar application myself (asteroids). These programs actually "undraw" a figure in order to move it. That is, the figure is drawn in black in its old position, moved, then drawn in its visible color. The objects are stored in GPR multi- or poly-line format so that they can be passed directly to GPR for both drawing and undrawing. This allows you to take advantage of whatever optimizations have been implemented in GPR. In particular, I believe that on the DN580(-T)/590, the entire operation is handled by the graphics hardware. (The only things BLT'd in BZONE are the little knob on the end of the joystick, the little tank images that tell you how many you have left, and the toggle switch. And they don't even bother to use hidden memory to hold them!) -- Dave Tweed -- # {mit-erl,yale,uw-beaver}!apollo!tweed # Apollo Computer Inc. # # apollo!tweed@eddie.mit.edu # Chelmsford, MA 01824 # # tweed@apollo.uucp # 617/256-6600 # # ARPA: tweed@apollo.com UUCP: {decwrl!decvax, mit-eddie, attunix}!apollo!tweed