Croquet alpha release(s?)

Joshua D Boyd jdboyd at cs.millersville.edu
Fri Dec 6 05:05:04 UTC 2002


On Thu, Dec 05, 2002 at 03:03:08AM -0500, Joshua 'Schwa' Gargus wrote:

> Tell me more!  Arbitrary n-D matrix operations will be hardware
> accelerated, yet accessed through a nice (extended) Smalltalk
> interface?  Cool!
> 
> I understand that consumer graphics cards generally have bad
> performance when it comes to reading data back from the card (ie:
> glReadPixels).  Has/will this changed with the latest hardware (Radeon
> 9700 and NV30)?  Could you give a general idea of the bandwidth
> available?  The reason I ask is that I can imagine speeding up things
> like genetic algorithms.  Ideally, the objective function could be
> compiled to run on the graphics hardware, but realistically it would
> probably often require the CPU (please tell me I'm wrong).  In this
> case, bandwidth from the VPU to the CPU becomes important.

I've had good luck with reading vertexs and matrices back from Geforce3
and Quadro4 cards.  Never tried using glReadPixels.

However, read performance over AGP is slightly worse that PCI.  I forget
why it is slightly worse, as opposed to equal to.  This is likely to be
the sticking point because new graphics cards aren't going to be able to
just improve the speed of the read performance over AGP, so one will
need to develop ways to do lots of work before the read occurs.  The
greater precision and programmability of the cards like the NV30 should
facilitate this.

In a framework I've been working on in C++, I queue up matrix
operations, then push them all over to the graphics card and read the
result back, rather than calculating each matrix operation right away,
so as to minimize readbacks.  

It used to be that the trick of getting good graphics out of a Indigo2
Impact was to push as much work onto the graphics subsystem, and
surprisingly, cache some of the state of the graphics subsystem to
minimize the number of glEnables and glDisables called.  I can't say
that this is really the best thing to do these days.  

I wish I could supply exact numbers though.  My work hasn't been
benchmarked yet since getting it functional is more pressing than
optimizing it.  

-- 
Joshua D. Boyd



More information about the Squeak-dev mailing list