JAL-2778: Overview panel redraws slowly when overlapping the alignment panel


CR-JAL-146 22

Keyboard shortcuts  
  • Summarize the review outcomes (optional)


    Warning: no files are visible, they have all been filtered.
    Participant Role Time Spent Comments Latest Comment
    Author 1h 12m 8 All calling code already checks this. Happy to add it in ...
    Reviewer - Complete 42m 11 setWidth, setHeight now also update widthRatio and height...
    Total   1h 54m 22  


    (Originally reported by Geoff Barton)

    The overview panel allows the viewport position to be adjusted by dragging a red box representing the viewport's location. When dragging the box, the speed at which it is redrawn depends on whether the overview panel is overlapping the alignment panel (and possibly others - I'm still investigating the exact behaviour).

    If the overview does not overlap any other panels, the repaint is fast when dragging the box, regardless of the size of the overview panel. If the overview overlaps the alignment, the repaint becomes quite slow.

    It appears that repaints of the overlapped panels are directly triggering the paintComponent method in the overview. The resulting build-up of repaint calls seems to be causing the observed slowdown.

    Branches in review


    Issues Raised From Comments

    Key Summary State Assignee

    General Comments

    There are no general comments on this review.
    /src/jalview/datamodel/Alignment.java Changed 4
    /src/jalview/gui/AlignmentPanel.java Changed
    /src/jalview/gui/AnnotationPanel.java Changed 3
    Open in IDE #permalink
    /src/jalview/gui/Desktop.java Changed
    /src/jalview/gui/IdCanvas.java Changed 1
    Open in IDE #permalink
    /src/jalview/gui/OverviewCanvas.java Changed
    /src/jalview/gui/OverviewPanel.java Changed 4
    /src/jalview/gui/ScalePanel.java Changed 2
    Open in IDE #permalink
    /src/jalview/gui/SeqCanvas.java Changed 1
    /src/.../viewmodel/OverviewDimensions.java Changed 6
    /src/.../viewmodel/OverviewDimensionsHideHidden.java Changed 1
    /src/.../viewmodel/OverviewDimensionsShowHidden.java Changed

    Review updated: Reload | Ignore | Collapse

    You cannot reload the review while writing a comment.

    Log time against