[Papervision3D] Dictionary vs Array

Chris Nuuja cnuuja at adobe.com
Fri Jan 19 13:03:21 EST 2007


No problem, really love the work I've seen in P3D.  Especially love the
simplicity of the interface.  

Werner is the man when it comes to graphics and optimization.  An old
Director engineer (as am I)

-chris

-----Original Message-----
From: Papervision3D-bounces at osflash.org
[mailto:Papervision3D-bounces at osflash.org] On Behalf Of Jon Bradley
Sent: Friday, January 19, 2007 9:55 AM
To: Papervision3D at osflash.org
Subject: Re: [Papervision3D] Dictionary vs Array


On Jan 19, 2007, at 12:31 PM, Chris Nuuja wrote:

> Hi Tim,
>
>    Two suggestions on the Matrix3D class:
>
>    1) transformPoints( pPoints:Array, pMatrix:Matrix3D ):Array  is
> allocating a new array of points every time you transform them.
> Presumably they are thrown away each frame, adding to the garbage
> collector's work.   How about (permanently) storing an array of
> transformed points in Face3D in addition to its array of untransformed
> points?  That array could be passed into Matrix3D.transformPoints() as
> an argument, removing the need for new allocation of an Array and 3
> Vertex3Ds per triangle per frame.   In general, the idea I'm proposing
> is to pre-allocate all the data structures needed up front and then
> overwrite their values each render.

I was thinking about something along those lines when I went through  
the code last week (been too busy this week to do much). I had  
written a very optimized engine for drawing grids a while back using  
quaternions and found that pre-allocating all the structures and just  
modifying values was definitely more efficient - in AS2 at least.

Thanks for joining the list, Chris. This knowledge is great stuff. I  
spoke with Werner Sharp (another Flash engineer) a few times in the  
past regarding array and other speed optimizations in the player  
during the v8 beta period. I basically created a general polygon  
clipping library (Weiler-Atherton) - and with all the intersection  
tests and looping required needed to be picked through with a fine  
toothed comb. I learned some pretty cool stuff that, unfortunately, I  
have to relearn all over again with AS3. :o) That's ok, it's fun.

best,

jon


_______________________________________________
Papervision3D mailing list
Papervision3D at osflash.org
http://osflash.org/mailman/listinfo/papervision3d_osflash.org



More information about the Papervision3D mailing list