Fine Tuning B3d animation files

Blitz3D Forums/Blitz3D Programming/Fine Tuning B3d animation files

Jager(Posted 2003) [#1]
ok, I'm confused at the slow speed of B3D animation files (LoadAnimMesh) compared to the static version (Load Mesh).

At the moment I'm optimising the FPS I get from animating meshes in my wargame. I was a little disappointed when FPS dropped to 15 even though I'm using low-low-low detail, 133 pol meshes for long distance camera shots .. So I tried a little experiment. I loaded 3 static meshes with adjusted animation stages and set up a FAKE animation loop in my game. I was pleasantly surprised to get 60 FPS for my fake animation loop (for far off camera shots only) compared to 15 for LoadAminMesh. ????????

WHY is it so!? ... the professor asked.

I thought I might have set up a complex animated mesh - 4 sequnces of 30 frames each, so I used Milkshape's reduce animation to 12 frames only .. and got the same slow response? hmmmmmm

Question, Why is LoadAnimMesh so much slower (75%) than LoadMesh ? Am I doing something wrong or can B3D files be fined tuned?

Thanks, in advance.


Gabriel(Posted 2003) [#2]
How many 133 pol meshes? And how many bones per mesh?


Skitchy(Posted 2003) [#3]
If your models have multiple 'limbs' a surface will be created for each one. eg. if you use the old style hierarchy animations (like me) where each body part is a separate object, even if the whole thing only uses one texture you'll still get a separate surface per 'limb'.

When you use LoadMesh() the surfaces are automatically optimised by Blitz internally - so framerate can improve drastically (at the expense of animation). It sounds like this might be the root of your problem.
Hope that helps :)


Jager(Posted 2003) [#4]
pol count doesn't seem to be the main issue, my low-low (137) pol mesh (180 figures) returns 15-20 FPS when animating but my fake animations (4 static poses in loop- 180 figures) returns a constant 60 FPS.

I realise animating will be slower than static, even alot slower but not by that much. I suppose we get back to the same issue of LODing meshes.

My figure has seperate arms, legs, body, head etc etc. How does someone convert that to a single 'limb'?