Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 458973

Summary: Improve RefreshLayoutCommand
Product: [Modeling] Sirius Reporter: Laurent Redor <laurent.redor>
Component: DiagramAssignee: Laurent Redor <laurent.redor>
Status: CLOSED FIXED QA Contact:
Severity: enhancement    
Priority: P3 CC: belqassim.djafer, pierre-charles.david
Version: unspecifiedKeywords: triaged
Target Milestone: 3.0.0M6   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on: 457678    
Bug Blocks:    

Description Laurent Redor CLA 2015-02-02 11:34:20 EST
+++ This bug was initially created as a clone of Bug #457678 +++

In sequence diagram, the RefreshLayoutCommand is used at each move to recompute correctly the location of each elements. This introduces a feeling of slowness in the user experience. The goal of this evolution is to improve the RefreshLayoutCommand to reduce this feeling.

Steps to reproduce:
* Import the project Sequence from SequenceProject.zip (this project uses Interaction MM)
* Open sequenceDiagram
* Move Actor1 to the left, from several pixels only (4-5) to avoid moving the others lifelines. This first move is here to ensure that everything is well initialized.
* Start CPU recording (with Yourkit for example)
* Move Actor1 to the left, from several pixels only (4-5) to avoid moving the others lifelines
* Stop CPU recording and take a memory snapshot

The scope of this analysis/improvement is the method RefreshLayoutCommand.doExecute(). It represents 100% of the analysis time.
Comment 2 Laurent Redor CLA 2015-02-08 05:20:05 EST
The 5 commits have been backported.
Comment 3 Belqassim Djafer CLA 2015-04-13 09:55:51 EDT
Verified on Sirius 3.0.0M6
Comment 4 Pierre-Charles David CLA 2015-06-24 11:15:36 EDT
Available in Sirius 3.0.0. See https://wiki.eclipse.org/Sirius/3.0.0.