ld-analyse charting - fix some bugs - fix performance #979
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Bar graphs render correctly from x-axis + fast frame navigation with minimal overhead (throttled and timed updates + minimal repaint area for frame marker updates).
Test environment showed source frame rendering at about 60 FPS after changes - some slow down when rendering graphs (of course) but not any where close to the previous builds in terms of performance degradation.
Commit 1: 6bdeb47 - Bar graph mode and refactoring
Added bar graph mode to plotwidget class and refactored class naming. This fixes issue #976
Renamed PlotCurve → PlotSeries for better semantic clarity
Added PlotStyle enum with Lines and Bars modes
Implemented bar rendering in PlotSeries::updatePath() - bars draw from y=0 to data point
Updated all 4 analysis dialogues to use new naming
Commit 2: 28d0665 - Timer-based throttled updates
Optimized frame updates with timer-based throttling
Added QTimer with 16ms interval (~60 FPS) to throttle rapid frame updates
Updates only happen when dialogs are visible (skip when hidden)
Added showEvent() override to apply pending updates when dialog opens
Prevents processing on every single frame during rapid navigation
Commit 3: 3dc75d2 - Optimized marker rendering (current HEAD)
Drastically reduced plot time during seeking
Optimized PlotMarker::boundingRect() to return only the marker line area (±2px margin)
Added prepareGeometryChange() call before position updates
Prevents unnecessary repainting of entire plot area - only redraws thin marker line