🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: net.micro.mac
Article #6749

Re: Flopping line in MacPaint (rubberband line)

#6749
From: Oliver Steele
Date: Mon, 18 Aug 1986 18:35
36 lines
2488 bytes
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)
Technical Details
Message-ID: <170@unc.unc.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!watmath!clyde!burl!ulysses!bellcore!whuxcc!lcuxlm!akgua!mcnc!unc!steele
References: <2693@mit-hermes.ARPA> <1232@trwrb.UUCP> <208@bridge2.UUCP> <2694@mit-hermes.ARPA>

Show Full Headers
Complete Article Headers
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: arc1-ca.pugleaf.net!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