[comp.sys.mac.programmer] Mac II color graphics & animation questions

loganj@byuvax.bitnet (06/24/88)

We are converting our widely distributed 3-D Graphics program "Movie BYU" to
Macintosh II, and we have questions about the color graphics:

1.  We found that animation on a Macintosh II color screen slows down
    significantly if you simply move the window position away from the
    left edge of the screen (or any position where x != 0).  Why, and
    is there any workaround?

2.  We need to produce color graphics by scan lines (for raster devices),
    and doing this one pixel at a time is too slow.  Any suggestions?
    What is the fastest way of creating and displaying a single horizontal
    color line which spans the width of the screen?  In these horizontal
    color lines the color may change with each pixel.  We have thought of
    creating a one line pixelmap in memory and somehow setting the color
    of pixels directly from our program code before "copybits" the line to
    the screen - what do you think of that?

Please respond directly to loganj@byuvax.bitnet

Thanks
jim (loganj@byuvax.bitnet)

clubmac@runx.ips.oz (Macintosh Users Group) (07/05/88)

In article <210loganj@byuvax.bitnet> loganj@byuvax.bitnet writes:
>We are converting our widely distributed 3-D Graphics program "Movie BYU" to
>Macintosh II, and we have questions about the color graphics:

I haven't heard of it. Is it a PC program?

>1.  We found that animation on a Macintosh II color screen slows down
>    significantly if you simply move the window position away from the
>    left edge of the screen (or any position where x != 0).  Why, and
>    is there any workaround?

I've never seen a windowing computer that doesn't exhibit this behaviour. Have
you tried QuickerGraf by Andy Hertzfeld? It greater speeds up 8-bit Colour
QuickDraw. It does such a good job that Apple has plugged it into System 6.0.

>2.  We need to produce color graphics by scan lines (for raster devices),
>    and doing this one pixel at a time is too slow.  Any suggestions?
>    What is the fastest way of creating and displaying a single horizontal
>    color line which spans the width of the screen?  In these horizontal
>    color lines the color may change with each pixel.  We have thought of
>    creating a one line pixelmap in memory and somehow setting the color
>    of pixels directly from our program code before "copybits" the line to
>    the screen - what do you think of that?

I'm no expect on Colour QuickDraw (until Apple Australia ship me mine!), but
if you're going to change the colour of any pixel in a horizontal line, you
may as well plot each pixel individually, changing the colour pixel by pixel.
I would investigate the feasibility of only setting the pixel's colour if it
has changed from the last pixel drawn. The test MAY be faster than setting the
same colour.


Jason Haines, President
Club Mac - Australia's Largest Macintosh Users Group - 1000+ members

Phone Home:  +61-2-73-1016
OZ Post:     Box 213, Holme Building, Sydney University, NSW, 2006, Australia
Internet:    clubmac@runx.ips.oz.au    UUCP: uunet!runx.ips.oz.au!clubmac

landman%hanami@Sun.COM (Howard A. Landman) (07/22/88)

>In article <210loganj@byuvax.bitnet> loganj@byuvax.bitnet writes:
>>2.  We need to produce color graphics by scan lines (for raster devices),
>>    and doing this one pixel at a time is too slow.  Any suggestions?

In article <1637@runx.ips.oz> clubmac@runx.OZ (Australia's Largest Mac Users Group) writes:
>I'm no expect on Colour QuickDraw (until Apple Australia ship me mine!), but
>if you're going to change the colour of any pixel in a horizontal line, you
>may as well plot each pixel individually, changing the colour pixel by pixel.
>I would investigate the feasibility of only setting the pixel's colour if it
>has changed from the last pixel drawn. The test MAY be faster than setting the
>same colour.

You should also consider loop-unrolling.  Often the control is taking a
significant fraction of the time.

	Howard A. Landman
	landman@hanami.sun.com
	UUCP: sun!hanami!landman