Alas, the haXe serializer just dies on large Collada's no matter what
you do! Just too big I thinks :(
I couldn't sleep so I went to the office and started to profile
(manually) the Collada parser. The Collada I was using took about 1.6
seconds to parse. I found that most of that time (almost 1.5 seconds)
was being taken up by the BonesAnimator:addSkinController function:
-------------------------------------------------------------------
public function addSkinController(skinController:SkinController):Void
{
if (_skinControllers.indexOf(skinController) != -1)
return;
_skinControllers.push(skinController);
for (_skinVertex in skinController.skinVertices) {
if (_skinVertices.indexOf(_skinVertex) == -1){
_skinVertices.push(_skinVertex);
}
}
-------------------------------------------------------------------
And the only thing that takes the time here? The
"_skinVertices.indexOf" ! It parses fine without it in a whole 0.2
seconds - though of course the model is all screwed up if you do that.
So any ideas the great collective intelligence that is out there?
Again, thanks for all the advice!