Search Issue Tracker

By Design

Votes

2

Found in

2017.4

2018.4

2019.2

2019.2.0f1

2019.3

2020.1

Issue ID

1194610

Regression

No

[Animation] "AnimationUtility.SetEditorCurve" has poor performance

Animation

-

Reproduction steps:
1. Open "1194610" project
2. Select "CopyClipScriptableObject" in the Project Window
3. Open the Profiler and start recording (Profile Editor)
4. In the Inspector click the Cog Wheel -> "Copy Clip"
5. Stop recording
6. Select the Spike which happened on "Copy Clip"
7. Expand "EditorLoop" -> "GUIView" -> "InspectorWindow" -> "Assembly" -> "Assembly"
8. Notice "Set Curve" and "Save Assets" is taking up a lot of time (800-1200ms)

Expected Result: "Set Curve" and "Save Assets" doesn't take a lot of time and time increases linearly
Actual Result: "Set Curve" and "Save Assets" takes a lot of time and increase exponentially

Reproduced with: 2020.1.0a11, 2019.3.0b9, 2019.2.11f1, 2018.4.12f1, 2017.4.34f1

Note:
"Save Assets" time decreased on 2020.x
Older versions have worse speed (2017.4.34f1: 600-2200ms)

  1. Resolution Note (2020.1.X):

    The performance issue is due to safety checks built-in to ensure clips are always valid for playback. A new API named SetEditorCurves has been added in 2020.1.0a22 for batch operations, which should be used in this case

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.