Also timelines are using curves. I don’t think curves are “baked”, so they get evaluated every time you get a value from it. In a curve are polynomes (I guess) like a + bt + ct² + dt³ +… So with very much timelines respectively curves there could be much to compute. Maybe it’s better to “bake” the timeline to the memory (in an own class) and store the values in an array and later make a simple interpolation. E.g. if the curve is t² then “bake” the timeline with a predefined stepsize, e.g. 0.5, to an array with the values y = 0.25, 1, 2.25, 4, 6.25, 9, … and use these values. If you want to evaluate it at t = 1.2, then use the nearest y-value, so y = 1. If t = 1.3, then use y = 2.25. Just a guess that this could be more performant. But this should only matter if using really much timelines and/or curves.