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
>
--
___________________
Actionscript 3.0 Flash 3D Graphics Engine
HTTP://AWAY3D.COM