Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site unc.unc.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!whuxcc!lcuxlm!akgua!mcnc!unc!steele From: steele@unc.UUCP (Oliver Steele) Newsgroups: net.micro.mac,net.micro.atari16 Subject: Re: Flopping line in MacPaint (rubberband line) Message-ID: <170@unc.unc.UUCP> Date: Mon, 18-Aug-86 14:35:57 EDT Article-I.D.: unc.170 Posted: Mon Aug 18 14:35:57 1986 Date-Received: Wed, 20-Aug-86 05:16:24 EDT References: <2693@mit-hermes.ARPA> <1232@trwrb.UUCP> <208@bridge2.UUCP> <2694@mit-hermes.ARPA> Reply-To: steele@unc.UUCP (Oliver Steele) Distribution: net Organization: CS Dept, U. of N. Carolina, Chapel Hill Lines: 36 Xref: watmath net.micro.mac:7384 net.micro.atari16:1672 In article <2694@mit-hermes.ARPA> jpexg@mit-hermes.ARPA (John Purbrick) writes: > > Actually, MacPaint keeps the old screen buffer and copies it back each > time you move the line to restore the original image. It doesn't do > XOR--if you notice, the line always looks like it will when you finish > moving it. Bill Atkinson has a special routine that copies his "save" > bitmap VERY quickly to the screen for just this kind of application, > thus the fixed window size. > >So what does everyone else think of this? To me, it has the ring of truth >about it. > --jp Almost. You'll notice that there's no flicker when you move the line, as there would be if MP constantly copied the old screen buffer onto the real screen and then did the draw (even Atkinson&Quickdraw can't beat a vertical retrace on circles that huge). Rather, MP copies the effected portion of the old screen buffer onto a temporary buffer (affected portion=union of rectangle within which last instance was drawn and this instance), does the draw in the temp buffer, and then copies the temp buffer onto the actual screen. Atkinson gave a mini-speech here about {software,human}-engineering about a year ago, and said that using the mini-buffer slowed things down by about a third, but that it actually looked faster to the user since things didn't flicker when foo moved them. Incidentally, this is the way a lot of arcade games used to work on the old {1,2,4}meg 8-bit machines with fixed screen space, like the Model I/III TRS-80. Anybody remember Big Five Software? new screen. -- Oliver Steele----------------------------------steele@unc ...!{decvax,ihnp4}!mcnc!unc!steele (usenet) steele%unc@csnet-relay.csnet (arpanet)