Bug 519203

Summary: Moving shape attached to multiple orthogonal connections is slow
Product: [Tools] GEF Reporter: Victor Johnsson <victor.johnsson>
Component: GEF MVCAssignee: gef-inbox <gef-inbox>
Status: NEW --- QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Windows 10   
Whiteboard:
Attachments:
Description Flags
Faster visual updates in 4321
none
Slower visual updates in 4403
none
Java Mission Control report of dragging connections as shown in the gif none

Description Victor Johnsson CLA 2017-07-05 04:52:42 EDT
Created attachment 269204 [details]
Faster visual updates in 4321

Moving shape attached to multiple orthogonal connections is slow. The performance for this has decreased between milestone release 4321 (5.0.0.201705150808) and integration release 4403 (5.0.0.201706131249). This happens in the GEF logo example when run as an Eclipse plugin.

How to reproduce:
1. Connect 4 connections to a shape.
2. Make the connections use orthogonal routing.
3. Drag the shape around.

Expected: The connection visuals and the shape visual follow the mouse when dragging.
Actual: The visuals lag behind.

Attached are a comparison between release 4403 and release 4321 displaying the differences.
Comment 1 Victor Johnsson CLA 2017-07-05 04:53:37 EDT
Created attachment 269205 [details]
Slower visual updates in 4403
Comment 2 Victor Johnsson CLA 2018-07-02 04:57:59 EDT
My guess is that the problem lies with org.eclipse.gef.common.collections.ListListenerHelperEx, similar to #518221. However, when I profile what is shown in the gifs above in 4900, there are a few other methods that more time is spent in. See the attached java mission control report for details.
Comment 3 Victor Johnsson CLA 2018-07-02 04:58:54 EDT
Created attachment 274737 [details]
Java Mission Control report of dragging connections as shown in the gif