Why are Animated Meshes so slow and what can be done?

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
dracflamloc
Posts: 142
Joined: Sat Dec 11, 2004 8:13 am
Contact:

Why are Animated Meshes so slow and what can be done?

Post by dracflamloc »

Animated meshes are quite slow in irrlicht and I'm not sure why. Is it possible for this to be improved somehow?
Guest

Post by Guest »

How do you mean? A scene rendering them has poor performance or the animations themselves are slow? and how do you define slow? (what amount of polys and how many seperated texture swaps are there in your scene for instance).
JP
Posts: 4526
Joined: Tue Sep 13, 2005 2:56 pm
Location: UK
Contact:

Post by JP »

I'm pretty sure you can set the speed of the animation, so maybe the models you are using just have slow animations, so speeding them up would be the simplest thing to do. Not sure what method it is but shouldn't be too hard to find.
Image Image Image
dracflamloc
Posts: 142
Joined: Sat Dec 11, 2004 8:13 am
Contact:

Post by dracflamloc »

Sorry I mean overall performance when there are 10+ animated meshes being displayed.

The animations themselves are the right speed. The models are 200 polys each.
irkab1rka
Posts: 9
Joined: Sat Jul 09, 2005 8:06 pm

v0.12, 50x sydney.md2 + 1xq3bsp = 7-12 fps on sis650/dx9c

Post by irkab1rka »

I just'd like to confirm that the performanceis still weak if you extend for example the 2nd tutorial by adding sydney.md2 50 times to the scene AND you look in the direction of them (no problem if you turn your back to them but they will have guns so you don't want to show them your back.)
Surprisingly it is a problem even if you can not see them due they are behind a wall.
Evenmore if I share the mesh and the texture instance between the animatedMeshSceneNodes I experienced the same (I suspected that the 50 instance of the mesh and texture used too much memory).

Of course it could be a problem with the device->getFPS() :roll:

The fact is: if I look away from the cluster of sydneys i got decent (30-50) framerates (drawing ~7000 primitives) but if I look towards them I got 7-12 fps, drawing ~70000 primitives) even if they are behind the wall. :(
The animation is precise due it isn't scheduled to redraw but to system clock (I guess)
dracflamloc
Posts: 142
Joined: Sat Dec 11, 2004 8:13 am
Contact:

Post by dracflamloc »

Yea I think the major factor here is the fact that even if they arent being drawn because they are behind something, they are still causing slowdown.
afecelis
Admin
Posts: 3075
Joined: Sun Feb 22, 2004 10:44 pm
Location: Colombia
Contact:

Post by afecelis »

I've always thought that the running Sydney in the demo moves in slomo; but I thought that was how it was supposed to be.
dracflamloc
Posts: 142
Joined: Sat Dec 11, 2004 8:13 am
Contact:

Post by dracflamloc »

well its not the animation speed its the framerate of the whole scene thats the issue.

btw its not like i have a crappy computer. I have a amd64 3800+ and a geforce 6800gt
dhenton9000
Posts: 395
Joined: Fri Apr 08, 2005 8:46 pm

Post by dhenton9000 »

First, 50 animated sequences strikes me as a lot. Is there an expectation that Irrlicht should be able to handle that?

Second, if you put the 50 sydneys up as non animated meshes, whats your frame rate?

I'm thinking that the animation player mechanism is "slowing you down".
Personally, I don't plan on designing anything with 50 running animations. Psychologists say that humans can process 5-9 objects at the most.
BlackNinjaGames
Posts: 31
Joined: Mon Sep 05, 2005 4:47 pm
Contact:

Post by BlackNinjaGames »

Doesn't the the Sydney example use the software renderer? I imagine that would be slow
dracflamloc
Posts: 142
Joined: Sat Dec 11, 2004 8:13 am
Contact:

Post by dracflamloc »

dhenton9000 wrote:First, 50 animated sequences strikes me as a lot. Is there an expectation that Irrlicht should be able to handle that?

Second, if you put the 50 sydneys up as non animated meshes, whats your frame rate?

I'm thinking that the animation player mechanism is "slowing you down".
Personally, I don't plan on designing anything with 50 running animations. Psychologists say that humans can process 5-9 objects at the most.
Well the animations themselves may be intensive, but i think alot has to do with the slowdown that occurs even when they are behind an obstruction.
needforhint
Posts: 322
Joined: Tue Aug 30, 2005 10:34 am
Location: slovakia

Post by needforhint »

I got 150 animated dwarfs lighted by an ingame light at 60 fps, ... as for the speed of animation, if it is slow just set
IAnimatedMeshSceneNode *node;
node->setAnimationSpeed(2000);
see the dwarfs for yourself http://www.medeal.sk/irr/dwarfarmy.rar
what is this thing...
dracflamloc
Posts: 142
Joined: Sat Dec 11, 2004 8:13 am
Contact:

Post by dracflamloc »

Interesting. I wonder whats making my 200 zombies so slow. Whats the poly count on those dwarfs
Post Reply