View Issue Details

IDProjectCategoryView StatusLast Update
0004551NoesisGUIStudiopublic2026-02-02 14:07
Reporterdstewart Assigned Todfranjic  
PrioritynormalSeveritymajor 
Status resolvedResolutionfixed 
Product VersionStudio_Beta 
Target VersionStudio_Beta 
Summary0004551: Moving A Large Number of Keyframes at Once Causes an Infinite Hang
Description

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

See attached video.


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 an infinite hang period which can only be terminated by closing the unresponsive application.

Expected Results: I don't think this is an excessive amount of keyframes to displace at once, so I don't expect there to be major performance issues present with this sort of operation.

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

Relationships

related to 0004766 assigneddfranjic Performance Improvements To Moving A Large Number of Keyframes at Once 

Activities

dfranjic

dfranjic

2026-02-02 13:47

developer   ~0011830

Improved in r16582. Future improvements:

  1. 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)
  2. 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

Issue History

Date Modified Username Field Change
2025-11-20 15:13 dstewart New Issue
2025-11-20 15:13 dstewart File Added: KeyframeInfiniteHang.zip
2025-11-20 15:13 dstewart File Added: KeyframeInfiniteHang_Compressed.mp4
2025-11-21 16:02 jsantos Assigned To => sfernandez
2025-11-21 16:02 jsantos Status new => assigned
2025-11-21 16:02 jsantos Target Version => Studio_Beta
2026-01-15 14:32 dstewart Assigned To sfernandez => dfranjic
2026-02-02 13:47 dfranjic Note Added: 0011830
2026-02-02 14:05 dstewart Relationship added related to 0004766
2026-02-02 14:07 dfranjic Status assigned => resolved
2026-02-02 14:07 dfranjic Resolution open => fixed