Btw you know I love you guys (pv3d team), afterall we wouldn't be here if it wasn't for you!
Wishing you a good weekend (can still take that shot if you want) :P -Pete On Fri, Nov 21, 2008 at 9:29 AM, Peter Kapelyan <[EMAIL PROTECTED]> wrote: > I hope you are talking about future versions (that you have planned) that > aren't broken like the many examples of those "functional" items you mention > :P > > Enough mudslinging for me - this never gets us anywhere - you can have the > last word if you want Ralph :) Shoot :P > > On Fri, Nov 21, 2008 at 7:58 AM, Ralph Hauwert <[EMAIL PROTECTED]>wrote: > >> Here's something to catch up too....real functionality : >> Frustum Culling >> Frustum Clipping >> 4x4 projection ;-) >> >> Ralph. >> >> On 20 nov 2008, at 19:56, Peter Kapelyan wrote: >> >> 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 <http://away3d.com/> >> >> >> > > > -- > ___________________ > > Actionscript 3.0 Flash 3D Graphics Engine > > HTTP://AWAY3D.COM <http://away3d.com/> > -- ___________________ Actionscript 3.0 Flash 3D Graphics Engine HTTP://AWAY3D.COM
