(IN-64548) Timeline/PlayableDirector performance issues

The runtime performance of PlayableDirector/Timeline is not only affected by the number of tracks/clips running at the same time, but also by the entire content in the Timeline.

In the provided test project, only two animation tracks/clips need to run at a specific point in time, and this should perform very fast. However, that’s not the case. The performance seems to be affected by the amount of content that exists in the future of the timeline.

We use Timeline to play cutscene-like content, which range from 5 minutes to 10 minutes in length. These cutscenes often have hundreds or even thousands of different tracks. However, only a few tracks have content that plays simultaneously. Nonetheless, the Timeline contains a lot of content in its entirety, and this affects the runtime performance.

Please refer to the provided video for a demonstration of the problem. In the video, I showcase a synthetic test case on a rather fast AMD 3900X machine. The performance is significantly worse on Console platforms.

Actual
Timeline costs between 4ms-8ms to animate two gameObject. Significantly slower on Console platforms.

Expected
There is almost no performance cost at all because only two clips run at the same time. The performance should be affected by how many clips run simultaneously, not by how many clips exist in the entire timeline.

QA was able to reproduce the issue. Thank you!

1 Like

Thanks for updating the thread, timeline performance are an issue for us as well. Looking forward the fix. Any update on this it’s been almost a year ?