Article View: comp.sys.amiga.tech
Article #3857Re: Using CPU instead of Blitter for speed
From: Randell Jesup
Date: Fri, 08 Jun 1990 03:24
Date: Fri, 08 Jun 1990 03:24
38 lines
2733 bytes
2733 bytes
In article <3035@crash.cts.com> jcs@crash.cts.com (John Schultz) writes:
>In article <8256@crdgw1.crd.ge.com> barnettj@dollar.crd.ge.com (Janet A Barnett) writes:
>>What about the graphics library routine QBlit(blitnode)? I set up all
>>my blits ahead of time in a linked list pointed to by the blitnode
>>argument to QBlit(). The blitnode contains a pointer to a routine to
>
> I wrote my own blitter interrupt code to clear the screen in rectanglar
>chunks as opposed to a linear clear of all memory. The interrupt version
>was slower. The problem with queueing up blits is that your application
>my not be able to do anything else until the blits are done. In a
>flight simulator, you must draw all of your polygons in the correct order.
>This means that the polygons must be transformed, clipped and sorted first,
>then all of the drawing must take place. Further, the processor is used
>to draw points. The points can't be drawn until the blitter is finished.
>I was going to put processor drawing code in the the blitter interrupt
>code, but the payoff of using blitter interrupts was too little to
>continue.
However, with design oriented towards it you can have the extra cycles
be used. Either use the blitter interrupts/QBlit and have it do the point
renderings from there, and then signal the main process, or split it into
rendering and calculation processes. I suspect the interrupts are faster,
but the seperate process/task is easier.
This allows some nice tricks to make use of all your horsepower to
produce a smoother update rate.
However, if you meet the special requirements for the polygons that
has been mentioned before, then you are probably better using the processor
(if you're after maximum speed). Or you could pass all lines larger than X
to the blitter, and smaller ones to the processor, or use the blitter to
block-copy backgrounds/clear mem/whatever while the processor is rendering
polygons into a different buffer, etc, etc.
--
Randell Jesup, Keeper of AmigaDos, Commodore Engineering.
{uunet|rutgers}!cbmvax!jesup, jesup@cbmvax.cbm.commodore.com BIX: rjesup
Common phrase heard at Amiga Devcon '89: "It's in there!"
Technical Details
Message-ID:
<12412@cbmvax.commodore.com>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!bpa!cbmvax!jesupReferences:
<1990Jun4.134811.12142@watdragon.waterloo.edu> <3009@crash.cts.com> <8256@crdgw1.crd.ge.com> <3035@crash.cts.com>Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rutgers!bpa!cbmvax!jesup From: jesup@cbmvax.commodore.com (Randell Jesup) Newsgroups: comp.sys.amiga.tech Subject: Re: Using CPU instead of Blitter for speed Message-ID: <12412@cbmvax.commodore.com> Date: 8 Jun 90 03:24:51 GMT References: <1990Jun4.134811.12142@watdragon.waterloo.edu> <3009@crash.cts.com> <8256@crdgw1.crd.ge.com> <3035@crash.cts.com> Reply-To: jesup@cbmvax (Randell Jesup) Distribution: comp Organization: Commodore, West Chester, PA Lines: 38