Papervision still needs to work on it's object creation speed, and a few
other areas that put Away3D listed as #1 on the older test.

So Papervision still has some work, and catching up to do :)

-Pete

On Thu, Nov 20, 2008 at 1:46 PM, Seb Lee-Delisle <[EMAIL PROTECTED]>wrote:

>
> Actually they were using an old version of Papervision. The updated
> test shows that it actually uses less memory than Away...
>
>
> http://www.tsoin.com/asblog/2008/11/20/comparatif-moteurs-3d-et-les-plus-performants-sont/
>
> Seb
>
>
>
> On Wed, Nov 19, 2008 at 3:32 PM, Peter Kapelyan <[EMAIL PROTECTED]>
> wrote:
> > Someone on pv3d list posted this:
> >
> >
> http://www.tsoin.com/asblog/2008/11/18/comparatifs-moteurs-3d-et-le-plus-performant-est/
> >
> > papervision3d takes 282MB memory while away3d only takes 32mb?
> >
> > I think that would mean those optimizations are already in Away3D :)
> >
> > -Pete
> >
> > On Wed, Nov 19, 2008 at 10:03 AM, Ian Stokes <[EMAIL PROTECTED]>
> wrote:
> >>
> >> HI,
> >>
> >> this is a letter posted on the PV3d list showing how a developer
> >> modded PV3D garbage collection, even though its a different engine,
> >> and might not apply, I thought I'd paste it here in case anyone else
> >> wants to look at the techniques;
> >>
> >> 294913 Number3D (around 30% of total memory usage of the game)
> >> > 96649 Vertex3DInstance (15% of total memory usage)
> >> > 95508 Dictionaries (10% of total memory usage)
> >> > 95433 Vertex3D (20% of total memory usage)
> >> > =
> >> > 582503 objects in memory for our golfers geometry!
> >> >
> >> > Given how flash has a mark-sweep garbage collector, this was giving
> some
> >> > interesting performance issues related to garbage collection.
> >> >
> >> > So the steps we took to optimise it were:
> >> > - Each Vertex3D object has a Dictionary instance that is used compute
> >> > normals. The normals computed happens once, however the dictionary was
> >> > not
> >> > not free'd. So we Saved ~90.000 Dictionary objects there
> >> >
> >> > - Vertex3DInstance has an unused normal instantied to 0,0,0, i.e. a
> >> > Number3D, it's never referenced or used outside Vertex3DInstance
> removed
> >> > this: removed ~90.000 Number3D instances
> >> >
> >> > - Vertex3D caches a "position" as Number3D that is used once for
> Normal
> >> > calculation, this was never freed. I removed this and just used
> original
> >> > x,y,z. saved as i did not see a need for this indirection. around
> 90.000
> >> > further Number3D instances removed
> >> >
> >> > - Not sure about the safety of this one, however the normal in
> Vertex3D
> >> > was
> >> > not referenced anywhere other than being initialised. So in the end i
> >> > got
> >> > rid of this. Another 90.000 more Number3D instances saved
> >> >
> >> > - last but not least, every Vertex3D has a Vertex3DInstance object
> used
> >> > for
> >> > the rendered onscreen position. Again, this indirection did not seem
> >> > neceserry, so I merged these 2 classes into 1 and same object rather
> >> > than
> >> > child object which saved alot more unneeded object instances and
> >> > references
> >> >
> >> > So these combined optimisations ended us up with:
> >> > - 96649 instances of Vertex3D (all vertexes for all frames naturally)
> >> > - 7398 Number3D instances
> >> >
> >> > This ended up saving us nearly 500.000 object instances and halving
> our
> >> > apps
> >> > memory usage (reported by flex profiler) from 30MB to 15MB. It also
> >> > greatly
> >> > improved performance of garbage collection.
> >> >
> >> > You can see a summary from the profiling here:
> >> > http://www.kimdanielarthur.com/tmp/papervision_optimise.gif
> >> >
> >> > Hopefully useful if anyone runs into similar behaviour!
> >> >
> >> > Kim Daniel Arthur
> >> >
> >> > ps.
> >> > Thanks again for a great 3D library its really brought extra life to
> our
> >> > games
> >> >
> >
> >
> > --
> > ___________________
> >
> > Actionscript 3.0 Flash 3D Graphics Engine
> >
> > HTTP://AWAY3D.COM <http://away3d.com/>
> >
>



-- 
___________________

Actionscript 3.0 Flash 3D Graphics Engine

HTTP://AWAY3D.COM

Reply via email to