Sequence too heavy without timeline playback in Unity 2022.2

I use Sequences.
The environment is as follows.

Unity 2022.2.0f1
Sequences 2.0.1

When checked in the Profiler, the Self ms in
UnityEditor.Sequences.SequenceIndexer.RecomputeSequencesValidity
is a very long time because the operation is very heavy, except during timeline playback on the Editor.

This does not occur in the following environments.
Unity 2021.3.12f1
Sequences 1.1.0

Thank you in advance for your help with the above.

Having any playable director on the scene now improves performance.
This is so strange.

During the update, the following error was missed.
We do not know what this error means, but it seems to be related to this bug.

“Library\PackageCache\com.unity.sequences@2.1.0-pre.1\Editor\Core\Utilities\IconUtility.cs”

If you comment out as follows and restart UnityEditor, the behavior seems to be improved.

        [InitializeOnLoadMethod]
        [ExcludeFromCoverage]
        static void PreloadIconsOnStart()
        {
            //EditorApplication.delayCall += PreloadIconsWithDelay;
        }

Hi there! Thanks for the feedback. We weren’t aware of this issue and have now logged it on our end so we’ll take a look.

As a side note, it is normal that this issue wouldn’t occur in Sequences 1.1.0. The RecomputeSequencesValidity mechanism was only added in 2.0.1 when we moved from IMGUI to UIToolkit.

2 Likes

I’ve updated to the latest Unity and the latest Sequences, but it still doesn’t seem to be fixed.
What is the status of this matter?

same problem here

still slow after 1 year of fixing

1 Like

Same problem here, using 2.0.1.
RecomputeSequencesValidity eats about 26ms each frame, which makes it next to impossible to use…

Edit: Insert this at r261 of file com.unity.sequences@2.0.1\Editor\Core\Editorial\SequenceNode.cs

if(Application.isPlaying)
return false;

Don’t forget to cut and paste the package from ProjectFolder\Library\PackageCache to ProjectFolder\Packagaes first.

1 Like

Oh Wow, you saved me, you know that? I wonder if unity will actually apply your fix to sequences 2.02 …

Gah, the lag is still there in scene view when !Application.isPlaying

    if (Application.isPlaying)
        return false;
    // Get the current time.
    float currentTime = Time.realtimeSinceStartup;                      // BRYAN BUG FIX

    // Check if less than a second has passed since the last call.
    if (currentTime - lastValidityCheckTime < 1f)
    {
        // If so, exit early.
        return false;
    }

    // Update the timestamp of the last call.
    lastValidityCheckTime = currentTime;

I added a timer to limit the amount of call to once per second