Baked animation performance

Hi babylon team,

Happy Friday!

I could only run ~2000 instances before FPS drops below 60 in the PG below. This PG is taken from babylon baked texture animation:

I found this tweet about baked animation in WebGL and then linked to their playable demo: https://exp-abduction.lusion.co/. I checked the index.js file of their code, the following are the number of instances used in the scene.

Lowest: 8192,
Low: 16384,
Medium: 32768,
High: 65536,
Highest: 131072,
Extreme: 262144

Can we also support this level of instances?

Probably :slight_smile: we will need first to investigate with the profiler to see where the perf hit is

Wanna check the f12 profiler and see where we are spending most of the time? We have a lot of options to optimize rendering

Hi @Deltakosh

Is there a way to profile the GPU performance? I tried to profile the PG. As I increase the number of thin instances, I don’t see any JS function consume significantly more time. In the inspector, I see GPU frame time and inter frame time both going up with more instances.

So this is probably due to the shader complexity
also to compare with Abduction we have to be sure they are using the same number of everything (joints, bones, animations, etc…)

I can prepare a PG by taking their lowpoly model and baking some simple mixamo animations. If this helps, I would make one when I have time.

yes and then we can have a look as the perf of the shader to see if we can do better (for instance I’m pretty sure they are not using a PBR shader )

2 Likes

Hello @slin just checking in if you’d like any more help with this?

Hi @carolhmj

Thanks for asking. It is on my side to do more investigation. I don’t have question right now. I am a bit overwhelmed by two kids during the summer and my wife is happier seeing me practicing LC&SD instead of showing her 3D warrior models running all over the place. :smiling_face_with_tear:

1 Like

Good luck! xD We’ll be here if you need anything :stuck_out_tongue: