osu-framework
osu-framework copied to clipboard
Transforms with high loop counts cause excessive overhead when rewind is enabled
Opening for tracking purposes. This is the root cause of some storyboards having very high overheads (many objects with short repeating loop).
The overhead is from looping elements, specifically the
Cloneof theTransformfor each loop that has played out since the last update of theDrawableStoryboard:
A solution probably involves changing how loops are handled to not require a new Transform copy per loop. It should be a medium effort fix where the original looping transform can know where it is in a loop sequence and handle rewind locally.