(IN-67540) SplineAnimate performance issue, 200ms for 20 SplineAnimate objects

Attaching a SplineAnimate Component to a SplineContainer where one of the parent Transforms has a scaling applied, causes a severe performance issue.

On an AMD Ryzen 3900X setup, attaching 20 SplineAnimate Components, costs 200ms and allocates 36KB garbage per frame in the Editor. In a Player it’s about 100ms.

2 Likes

The QA team was able to reproduce the issue. Thank you!

2 Likes

I thought they put in place anti-regression tests. What else went through the cracks…

As a temp fix, make sure the Transform attached to the GameObject with your SplineContainer has a scale of (1, 1, 1). Certain methods (like SplineContainer.EvaluateUpVector()) run much slower logic if the scale is anything else. :slight_smile:

1 Like

OMG, really??? That’s not gonna work in my case. Time to roll my own spline controller, I guess. :frowning:

Did this work correctly in a previous version? Maybe I can just roll back to that.