Skinned mesh performance question

Hey :slight_smile: Our company is looking at moving to using Unity iPhone instead of our custom engine but before doing so I would like to ask a question regarding skinned meshes.

Currently our title uses a top-down almost pseudo-isometric perspective… almost like how dungeon hunter sets up the camera (i.e. ImageShack - Best place for all of your image hosting and image sharing needs). We use optimized models/meshes with as low poly and minimal bones as possible.
We had to do a lot of optimization passes on our engine in order to allow for our spec (which is to have 8 skinned meshes playable in the view, and we would like to have 10 if possible) and we have it rendering with a good frame rate.

So I wanted to know how many skinned meshes people are using active in the viewport at once with Unity iPhone? I read that they have put in the optimizations we have with VFP and NEON and I believe they have done even more than I have in our renderer. Of course I will also be testing this out with our assets but I was hoping I could get some feedback from others who have used the tool.

Thanks.

Unity iPhone is VFP only, no Neon from what mentioned.

But you can get quite a lot out of it, but that quite a bit depends on the amount of bones etc.

Benefit of unity is that you could use the occlusion system to reduce rendering of the whole static stuff.

I would recommend to request a Unity iPhone trial and give it a go, that will give you the best information you can have :slight_smile:

With dynamic batching, you should be able to at least get close to the target you’re trying to achieve. We just recently ran a test where we had 11 skinned meshes running at 30 fps on a 1st generation iPhone.

The meshes were simple (only 230 verts, as reported by Unity, and using 10 to 12 bones), and all meshes were sharing the same material (texture atlasing). Each mesh was running around the screen with some basic scripts. I will say that once anything more complicated than that began occurring (touch processing, effects) the framerate began to dip down to 20 fps. It still ran well though.

So yeah, I agree with dreamora. Contact Unity and request an iPhone trial, and just play around with the meshes you have, and run some tests. As long as you keep the meshes simple and share as many materials as possible so that dynamic batching will occur, you should at least be able to hit your target of 8 skinned meshes (if not more).

I should say that running this on an iPod touch (2nd/3rd gen) or iPhone 3GS is not a problem at all. Unity will cut through it like butter.