Search Issue Tracker

Fixed

Fixed in 2.X

Votes

2

Found in [Package]

2.5.2

Issue ID

SPLB-246

Regression

No

SplineAnimate.Update() takes up 100ms of CPU time and allocates 36.5 KB of GC when only 20 SplineAnimate objects are present

Package: Splines

-

Reproduction steps:
1. Open the attached “Repro“ project
2. Open the “Assets/Scenes/SampleScene.unity“ Scene
3. Open the Profiler (Window > Analysis > Profiler)
4. Enter the Play Mode
5. Observe the CPU Usage of “SplineAnimate.Update()“ in the Profiler

Expected result: Takes very little time and no GC is allocated
Actual result: Takes a lot of time (100ms on M1 Max) and 36.5KB GC is allocated

Reproducible with: 2.4.0, 2.5.2 (2021.3.35f1, 2022.3.19f1, 2023.2.9f1, 2023.3.0b6)

Reproducible on: M1 MacOS 14.2
Not reproducible on: No other environment tested

Comments (2)

  1. fnnbrr

    Feb 17, 2024 21:21

    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. :)

Add comment

Log in to post comment

All about bugs

View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.