In my case, it is the render updates that kill speed. I get 20-30 FPS with 30 soldiers with bones on and animation disabled, but enabling animation kills the framerate:

It looks like I can get the animation speed within an acceptable range. But if we can render 30 soldiers with an expensive routine, why not use vertex interpolation and double the number of soldiers we can use?
After a few more test, the slowest step actually seems to be changing the vertex coords command. This takes more power than the TForm calculations.

It looks like I can get the animation speed within an acceptable range. But if we can render 30 soldiers with an expensive routine, why not use vertex interpolation and double the number of soldiers we can use?
After a few more test, the slowest step actually seems to be changing the vertex coords command. This takes more power than the TForm calculations.