Simple Performance Test - Skinned meshes vs Attached meshes
Lately, I've been dealing with character design for a game I'm making, and I decided, taking in count that it will be a mobile game, that I'll try to optimize the character design for performance.
I knew that skinned meshes have a higher "cost" than non skinned meshes, so I thought of a robot character with non-deformable pieces, but even then, to animate the character properly I had to have some bones for each part, then the question surged: Is a single skinned mesh more "expensive" than a group of non-skinned meshes attached to the skeleton bones?
So, I made a simple test project with two scenes, one with 200 nodes, each one containing a single skinned mesh, the skeleton and a simple animation playing, the second scene also had 200 nodes, but each node contained three non skinned meshes attached to the skeleton bones (the same skeleton and bone count that the other node), and the same simple animation playing.
In each test, all objects shared the same material, and had a single directional light.
First my computer specs:
AMD Phenom 9550 x4 2.2 GHz
4 GB ram
GeForce 9400 GT
on Ubuntu 17.04 64 bits tested on Godot 2.1.3
These are the results:
First scene with skinned meshes
Second scene with non-skinned meshes attached to the bones
I Don't know really know how to perform benchmark test and such, but I think is fair to assume that adding more draw calls with no skinning is cheaper than fewer draw calls with skinned meshes.
I suppose that "surface changes" on the first test has something to do with this drop on FPS, but I'm not an expert so that's why I'm here hehe.
Here is a link to the test project: mediafire.com/file/o4c1uo9d2th8cri/PerformanceTest.zip
Am I missing something I should have tested? What are your Thoughts?