saldana@cernvax.UUCP (saldana) (08/09/85)
I made a benchmark to find out how many pixel/sec a Mac could draw. I also ran the same benchmark on the Apollo workstations we have. Algorithm: /* draw 8000 vectors of 200 pixels long with a skew. set by offset */ x1 = 100 - offset; y1 = 100 x2 = 100 + offset y2 = 300 for (i = 0; i < 20; i++) { PenPat(black); for (j = 0; j < 200; j++) { MoveTo(x1, y1); LineTo(x2, y2); x1++; x2++; } PenPat(white); for (j = 0; j < 200; j++) { MoveTo(x1, y1); LineTo(x2, y2); x1--; x2--; } } results: Mac (68000, Aztec C) offset = 0 121000 pix/sec = 1 8500 pix/sec !!! > 1 8500 pix/sec !!! Apollo DN300 (68010, domain C) offset = 0 83000 pix/sec = 1 69500 pix/sec = 20 68500 pix/sec = 100 60000 pix/sec Apollo DN550 (68010+graph.processor) = 0 327000 pix/sec = 1 327000 pix/sec = 20 327000 pix/sec = 100 327000 pix/sec Offset of 100, in this case (of vectors of 200 pix), is the maximum offset, every pixel must be calculated, there are no vert parts anymore that can be drawn quickly. Conclusions: The Mac is very fast drawing vertical (or horiz.) lines (out performs a $15000 Apollo DN300), but as soon as the lines are a little tilted it gets into trubbles. Why? Bad algorithm?! Because even with an offset of 1 it looks like it already starts interpolating all the pixels between begin and end point, instead of dividing the line into two vert. (or hor.) parts. Is it really a matter of a not optimized Quickdraw routine? Or is something else happening. What do you people out there think? By the way, Apollo should be ashemed of the max. drawspeed of straight lines on their DN300. -- Fons Rademakers p-mail: EP Division CERN CH-1211 Geneva 23 Switzerland e-mail: ...{seismo,philabs,decvax,...}!mcvax!cernvax!saldana