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
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)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Red spots appear when Blending Lighting Scenarios using Adaptive Probe Volumes
- [Windows] About Unity Window needs to be opened twice to adapt to resolution
- NullReferenceException and temporary graph corruption after entering playmode if output node connection was changed
- Sprite Renderer with Animation does not reflect Sprite changes in the Scene when switching Mask Interaction
- User is redirected to a non-existing online documentation link when clicking on "?" help button inside Inspector window while Animator Override Controller is selected
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