I was having a discussion off-list with Cauê and he said (hope you don't mind me passing it on, thought everyone should know):
------------------------------------------------------ It's weird, because when you look at the code (animators.bones.Channel), all it does is take a bunch of actions (e.g. rotationX, rotationY) and apply it to the bone. This changes its matrix, which in turn will change all its children when the render loop calls the project() function of each object3d. It's worth trying a baked vertices version, though I would try first baking the matrices' rawData. It's MUCH less info, and the result really should be the same. (and you don't have to deal with messy stuff like transforming each point by the matrix) ------------------------------------------------------ Anyway, I'll get back to it ... On Feb 22, 12:54 pm, Philip Harvey <[email protected]> wrote: > Anything on this would be good, I'm also seeing a big slow down with collada > models, and was looking at exporting as MD2. But Collada is some much > simpler to deal with > > Phil > > > > > > On Sun, Feb 21, 2010 at 5:46 PM, tarwin <[email protected]> wrote: > > I've found that with the model I'm working with (1000 polys, 30 bones) > > it slows down from 40 to 28 FPS. I'll look into what's creating the > > slow-down and report back. > > > Thanks, > > > Tarwin > > > On Feb 22, 11:28 am, Cauê Waneck <[email protected]> wrote: > > > Hey tarwin! > > > > I don't think you will get a big performance difference with this. That's > > > because the bones actually don't change anything more than their > > matrices' > > > values (e.g. rotation, scale...), and on each render turn, each mesh > > matrix > > > will project its vertices, if it changed or not. You may save some setter > > > calls and matrix calculation of the rotation, scale, etc. change, but > > this > > > is handled by the flash10 api internally, and it's very fast. > > > > Are you experiencing any perceptible slowdown when using bones? > > > > cheers! > > > Cauê > > > > 2010/2/21 tarwin <[email protected]> > > > > > Has anyone made a cache utility for the bones player? If so I'd love > > > > it if they'd share, and if not where do I share this kind of thing > > > > once I've made it myself? > > > > > The idea is to make a utility that takes a Bone animaiton, from a > > > > Collada, and caches it so that each frame of animation is represented > > > > by a a mesh, like an MD2 works, so that animation can be pre-computed > > > > and not slow things down. > > > > > Thanks everyone for your amazing work. > > -- > Phil Harvey > [email protected] > AIM: filrv > ICQ: 354535 > GTalk: [email protected]
