Search Issue Tracker

Fixed in 2019.2.X

Votes

1

Found in

2017.3.1f1

Issue ID

1015816

Regression

No

Animation window is really slow and lagging when using a lot of keyframes to edit animations

Animation

-

To reproduce:
1. Open users attached project "Unity Animation window lag.zip"
2. Open Animation window
3. Expand "Crow.fbx" asset from Assets folder and select "Take 001.anim" animation asset
4. Observe the Animation window is lagging when trying to navigate in it

Expected result: the Animation window shouldn't lag
Actual result: the Animation windows lag to a point of not being able to work with it

Reproduced on:
2017.4.12f1 2018.1.9f2 2018.2.12f1 2018.3.0b5 2019.1.0a4

Notes:
Duplicating the animation file "Take 001.anim" its size can increase to +100MB even though the main file "Crow.fbx" only takes 13.6MB of space.
Reproduced on MacOS and Win10 machines.
This especially can be experienced when viewing Animation Curves.

Comments (10)

  1. BenP_Leda

    Jul 09, 2022 05:37

    Not fixed - problem persists in Unity 2019.2.18

  2. DLord_SBGS

    Feb 01, 2022 08:26

    The problem is still there in Unity 2019.4.31f1

  3. SteveSwink

    Dec 01, 2021 13:55

    Still an issue in 2021.2.3

  4. MrCool92

    Oct 15, 2021 14:05

    For anyone that uses addressables - we managed to fix this for us.

    When using preview window an inspector header is redrawn and addressable entry deep check is performed. This causes GC.

    private static List<AddressableAssetEntry> implicitEntriesBuffer = new List<AddressableAssetEntry>();
    private static HashSet<string> processedPaths = new HashSet<string>();
    private static HashSet<string> validPaths = new HashSet<string>();

    internal AddressableAssetEntry GetImplicitEntry(string implicitAssetPath)
    {
    var path = AssetPath;
    if (string.IsNullOrEmpty(path))
    return null;

    if (!processedPaths.Contains(path))
    {
    processedPaths.Add(path);
    if (AssetDatabase.IsValidFolder(path))
    validPaths.Add(path);
    }

    if (validPaths.Contains(path))
    {
    return GetFolderSubEntry(implicitAssetPath);
    }
    #pragma warning disable 0618
    if (MainAssetType == typeof(AddressableAssetEntryCollection))
    {
    GatherAssetEntryCollectionEntries(implicitEntriesBuffer, null);
    }
    #pragma warning restore 0618

    AddressableAssetEntry result = null;
    for (int i = 0; i < implicitEntriesBuffer.Count; i++)
    {
    if (implicitEntriesBuffer[i].AssetPath == implicitAssetPath)
    {
    result = implicitEntriesBuffer[i];
    break;
    }
    }
    implicitEntriesBuffer.Clear();
    return result;
    }

  5. marchall_box

    Aug 17, 2021 19:58

    It still does in Unity 2020.3 LTS

  6. tappysparks

    Jul 31, 2021 10:46

    Still a problem in 2019.4.26f1

  7. Kaidash

    Dec 21, 2020 17:15

    Still a problem in 2019.4.15f1

  8. EmpireStudios

    Dec 08, 2020 19:53

    Still a problem in 2019.4.14f

  9. Douvantzis

    Oct 01, 2020 14:40

    The problem is still there in Unity 2019.3.3.f1

  10. Marks4

    Aug 21, 2020 19:19

    Hm, this issue is not fixed anymore on Unity 2020.1 . It's really slow and laggy.

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.