So I mentioned once before on this list, but it probably bears repeating
that I found a significant amount of skin animation time in my case was
spent applying weights multiple to times to a given vertex position. I am
seeing even worse performance than the numbers posted below, though.

I just checked out and built the 2282 revision from svn, and I get about
10-12 fps in the unchanged Advanced_MultiMarios example according to the
built in display.  After applying a patch to remove duplicate weighting
operations I get 16-18 fps, which is much better, but still far below the 24
posted below. The impact varies by Collada model, of course.  In my project
here, the mesh animation fps nearly doubled, so YYMV.

In any case, I am not sure whether this list allows attachments so I, but I
have attached a patch against r2282 if anyone wants to try it.  I put it on
pastebin just in case as well: http://pastebin.com/LZgatVL0

It just de-duplicates the vertex skin vertex indices per mesh based on
position, which could potentially result in problems if a mesh is designed
with duplicated vertex positions intentionally for some reason.  Also, this
is creating a memory leak when destroying a mesh, since there is a static
list of SkinVertex instances used for duplication checking.  This is
probably not the ideal way to approach the issue, but if you just want to
try it for now to see if you get a performance boost, I would be curious to
see your results.

-Ken



On Thu, Mar 4, 2010 at 3:57 AM, katopz <[email protected]> wrote:

> Hey Riccardo
>
> We did notice huge speed drop via collada animation too.
> It's under investigate for fps leak somewhere...
>
> I think it should be uvt calculate with nested Object3d transform
> cuase this issue
> Object3D in lite extends Sprite, pros for this is transfrom calculate
> internal
> but cons is it also got plenty of Sprite property that never use after
> extends
> (e.g filters, soundtransform,mouse,....)
>
> I'm start thinking that it's maybe better to redo Object3D extends
> Object instead
> and let's hope that will increase fome fps after that
>
> In case i'm got long todo list already, if someone sound this should be fun
> plz do try and yelling for result ;)
>
> Cheers
>
>
>
> On 04/03/2010, Riccardo <[email protected]> wrote:
> > Hello,
> > first of all thank you for Away3D, it's a very advanced and useful
> > library, and very well developed.
> >
> > At the moment I'm comparing the rendering speed of Away3Dlite against
> > Away3D.
> > My first test was just a sphere, and actually the lite version of the
> > library is 30% faster.
> >
> > But then I tried the animated Marios example and to display just one
> > of them.
> > Then I converted the same application to Away3Dlite, basically
> > switching from the away3d.animators.SkinAnimation class to the
> > away3dlite.animators.BonesAnimator.
> >
> > What I got is that Mario runs at 40 fps with Away3D on my machine, but
> > it runs at 24 with Away3Dlite.
> > But Away3Dlite should be supposed to be faster (or at least not
> > slower), shouldn't it?
> >
> > What's going on? Am I doing anything wrong?
> >
> > Thank you
> >
>
>
> --
> katopz
> http://www.sleepydesign.com
>

Attachment: skin_vertex_dedupe.diff
Description: Binary data

Reply via email to