🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.amiga.tech
Article #3857

Re: Using CPU instead of Blitter for speed

#3857
From: Randell Jesup
Date: Fri, 08 Jun 1990 03:24
38 lines
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!jesup
References: <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