Opened at 2022-10-02T17:06:52Z
Last modified at 2022-10-23T01:33:29Z
#1240 new planned
evaluate performance of ElementBoxWidget
| Reported by: | Ichthyostega | Owned by: | |
|---|---|---|---|
| Priority: | lesser | Milestone: | 1alpha |
| Component: | lumieraGui | Keywords: | gui evolution performance professional |
| Sub Tickets: | #1016, #1038, #1196, #1219 | Parent Tickets: | #1190, #1242 |
Description
ElementBoxWidget is a building block of the Lumiera UI, and expected to be used pervasively. Most notably, the display of individual media Clips within the timeline is based on this custom widget — and we can expect a typical feature film sequence to hold hundreds of clips, which must response to focus and zoom scale changes without notable delay. Moreover, representing all those clips — even just in hidden state — might turn out as a significant factor for the UI's memory consumption (and preferably we should use available memory for display buffers and caches anyway)
Topics for investigation
- Setup
- build a reproducible Test session populated with an excessive amount of media clips
- Memory consumption
-
provide instrumentation to watch the memory footprint of
ElementBoxWidgetinstances- determine the impact of storing the full-rendered size of the IDLabel (as is done in the current implementation)
- determine the impact of memorising the full unabridged text of the label within the widget (in case of shortening the label display)
- determine the impact of caching the previous size constraint for short-circuit evaluation
- Runtime
-
- measure the time require to hide/show all widgets on extreme zoom scale change
- measure the time of a focus change, with/without caching redundant previous constraint checks
- measure the time of an average focus change with many unconstrained widgets without caching the full-rendered size
Acceptance Criteria
- the implementation can be considered to be solid even under extreme conditions
- measurements and reasoning have been documented
Change history (3)
comment:1 by , at 2022-10-03T04:03:44Z
| blocking: | 1190 → 1190, 1242 |
|---|
comment:2 by , at 2022-10-15T16:53:15Z
| blockedby: | 1227, 1185 → 1016, 1038, 1196, 1219 |
|---|
comment:3 by , at 2025-12-25T00:00:00Z
| blockedby: | 1016, 1038, 1196, 1219 |
|---|---|
| blocking: | 1190, 1242 |
| Parent Tickets: | → 1190, 1242 |
| Sub Tickets: | → 1016, 1038, 1196, 1219 |
Migration MasterTickets ⟼ Subtickets-plugin

Introduced a logical cycle with this ticket mistakenly...
It is true that we do need a roughly complete Implementation in order to get sensible performance measurements, yet the shortening of the ID Label (#1242) can only be implemented without guesswork, when such a performance survey has already been done. And without the flexible handling of ID Label, the
ElementBoxWidget(#1185) can certainly not be called complete...⟹ the most sensible thing to do is to slightly lower the requirements for the investigation,
but at least require a half way complete implementation, with relevant parts already filled in....
featuring the foundation for Timeline Layout management