View Issue Details

IDProjectCategoryView StatusLast Update
0004766NoesisGUIStudiopublic2026-02-05 12:04
Reporterdstewart Assigned Todfranjic  
PrioritynormalSeverityminor 
Status assignedResolutionopen 
Product VersionStudio_Beta 
Target VersionStudio_Beta 
Summary0004766: Performance Improvements To Moving A Large Number of Keyframes at Once
Description

Currently, Studio seems to enter an short hang when moving a large number of Keyframes at once. In this case, it took about 3 seconds to displace about 240 keyframes over 60 Elements.

This ticket is a second stage to the major improvements already completed as part of https://www.noesisengine.com/bugs/view.php?id=4551

Notes from Dario on how to improve this further:

  • All KeyFrames create instances of Properties on KeyFrameObject::OnSelect() - this is a bit unnecessary only Properties of the first Keyframe are visible. It would be better if Properties (not only for Keyframes but other object types too) were built only when the element becomes the first object in the selection (aka their properties are visible)

  • Currently Scope::RebuildStoryboardTimeline() is called when updating UI in UpdateKeyFrameCommand - this recreates all the KeyFrameObjects and all of their properties (OnSelect). It would be better if StoryboardObject::UpdateTimeline() was improved to support various scenarios and used instead of a full rebuild of the timeline UI


Repro Steps:

1) Download and open the attached Studio Project.

2) In the Navigator, identify the UserControl named "TopographicPattern_UserControl" (found under the "Foreground_Group_Grid" Grid under the RootGrid.

3) Enter the TopographicPattern_UserControl's context menu, and open the UserControl's Template for Edit
This will then open in the dummy Template Editor.

4) Within the UserControl Template, navigate to the Animation/Storyboards Panel, and select the Storyboard named "TopoPattern_Animation".
This will open the Timeline, where you will see 60 Paths with their Opacity values keyed.

5) By clicking on an empty part of the Timeline, then pressing Ctrl+A, select all keyframes on the Timeline.

6) With all keyframes selected, click-and-drag on any of the first keyframes, and attempt to displace everything to the right so that the first keyframes begin at the 1s mark rather than at the 0s mark.

Observe all keyframes successfully moving, but the 'parent' keyframes remaining stuck at the 0s mark.
Observe Studio entering into a short 'hang' period of ~3s before completing the operation.

Expected Results: Moving multiple keyframes at once occurs near-instantly.

Attached Files
KeyframeInfiniteHang.zip (143,677 bytes)
PlatformAny

Relationships

related to 0004551 resolveddfranjic Moving A Large Number of Keyframes at Once Causes an Infinite Hang 

Activities

Issue History

Date Modified Username Field Change
2026-02-02 14:05 dstewart New Issue
2026-02-02 14:05 dstewart File Added: KeyframeInfiniteHang.zip
2026-02-02 14:05 dstewart Relationship added related to 0004551
2026-02-02 14:06 dstewart Description Updated
2026-02-05 12:03 jsantos Assigned To => dfranjic
2026-02-05 12:03 jsantos Status new => assigned
2026-02-05 12:04 jsantos Target Version => Studio_Beta