Connector performance regression

Bug #714800 reported by Peter Gulyas on 2011-02-07
28
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Inkscape
Medium
Unassigned

Bug Description

I have a diagram that I am connecting paths and text together with diagram connectors. This process is very slow for some reason (need to wait multiple seconds after each click on my macbook pro). After I have created the link if I move the text around the connector head is at the last location the item was at. Also after a restart of the application and reopening the file some of the connectors have a start coordinates at the top left of the diagram.

su_v (suv-lp) wrote :

- Which OS and Inkscape version/revision do you use?
- Please attach a sample SVG file that shows incorrect routing to allow further investigating and testing with different Inskcape versions.

Changed in inkscape:
status: New → Incomplete
tags: removed: diagram

I has unable to reproduce the zero coordinates after reopening the file. However I have captured the slowness and the bad routing of the connector in the attached diagram.
To test just grab one of the texts and start to move it around. Notice that the connectors are always lagging in position by one click. Also you can try to add another connector to see the slowness.

My Computer
OSX 10.6.6
2.66 GHz Intel Core i7
4GB 1067 MHz DDR3

Inkscape 0.48.0
r9654

Thanks for the quick response.

On 2011-02-07, at 2:52 PM, ~suv wrote:

> - Which OS and Inkscape version/revision do you use?
> - Please attach a sample SVG file that shows incorrect routing to allow further investigating and testing with different Inskcape versions.
>
> ** Changed in: inkscape
> Status: New => Incomplete
>
> ** Tags removed: diagram
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/714800
>
> Title:
> diagram connectors do not connect apon openeing diagran
>
> Status in Inkscape: A Vector Drawing Tool:
> Incomplete
>
> Bug description:
> I have a diagram that I am connecting paths and text together with
> diagram connectors. This process is very slow for some reason (need to
> wait multiple seconds after each click on my macbook pro). After I
> have created the link if I move the text around the connector head is
> at the last location the item was at. Also after a restart of the
> application and reopening the file some of the connectors have a start
> coordinates at the top left of the diagram.
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/inkscape/+bug/714800/+subscribe

> I have captured the slowness and the bad
> routing of the connector in the attached diagram.

Apparently attaching the file via email failed - could you please attach the file using the web interface of your bug report? (The link should be included in the signature at the bottom of this notification).

It is attached to the bug report

On 2011-02-07, at 3:52 PM, ~suv wrote:

>> I have captured the slowness and the bad
>> routing of the connector in the attached diagram.
>
> Apparently attaching the file via email failed - could you please attach
> the file using the web interface of your bug report? (The link should be
> included in the signature at the bottom of this notification).
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/714800
>
> Title:
> diagram connectors do not connect apon openeing diagran
>
> Status in Inkscape: A Vector Drawing Tool:
> Incomplete
>
> Bug description:
> I have a diagram that I am connecting paths and text together with
> diagram connectors. This process is very slow for some reason (need to
> wait multiple seconds after each click on my macbook pro). After I
> have created the link if I move the text around the connector head is
> at the last location the item was at. Also after a restart of the
> application and reopening the file some of the connectors have a start
> coordinates at the top left of the diagram.
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/inkscape/+bug/714800/+subscribe

su_v (suv-lp) on 2011-02-08
tags: added: regression text

Sorry for bugging about the attached file - seems that there was some delay until the file was added to the report.

> need to wait multiple seconds after each click on my macbook pro
> Also you can try to add another connector to see the slowness.

Confirmed: Adding a new connector line between a text object and e.g. the enclosing polygon stalls for seconds until the connector tool is responsive again.

> the connectors are always lagging in position by one click.

Confirmed: Rerouting of connector lines when moving a text object connected to another (text, shape or path) object with the mouse lags one step behind. Moving an object with the cursor keys doesn't expose the out-of-step of the rerouting, but the connector point is not updated precisely.

> I has unable to reproduce the zero coordinates after reopening the file.

Possibly bug #552289 - displaced unconnected connector lines in resized documents (fixed for 0.48.1). Or:
Confirmed: Transforming (scaling, rotating, stretching or skewing) a text object with a connector line attached causes the connector line to be unpredictably displaced (the location of the transformed connector point is incorrect). The next translation of the text object triggering a rerouting of the connectors recalculates the connector point "correctly" (it still lags behind one transformation step though).

Reproduced with Inkscape 0.48.0, 0.48.1 and 0.48+devel r10035 on OS X 10.5.8
Not reproduced with Inkscape 0.47 r22583 -> regression

su_v (suv-lp) on 2011-02-08
Changed in inkscape:
importance: Undecided → Medium
status: Incomplete → Triaged

Is there anything I can do in the mean time for the slowness? Is there anything I can do in my document to increase the speed?
Peter
On 2011-02-07, at 5:01 PM, ~suv wrote:

> Sorry for bugging about the attached file - seems that there was some
> delay until the file was added to the report.
>
>> need to wait multiple seconds after each click on my macbook pro
>> Also you can try to add another connector to see the slowness.
>
> Confirmed: Adding a new connector line between a text object and e.g.
> the enclosing polygon stalls for seconds until the connector tool is
> responsive again.
>
>> the connectors are always lagging in position by one click.
>
> Confirmed: Rerouting of connector lines when moving a text object
> connected to another (text, shape or path) object with the mouse lags
> one step behind. Moving an object with the cursor keys doesn't expose
> the out-of-step of the rerouting, but the connector point is not updated
> precisely.
>
>> I has unable to reproduce the zero coordinates after reopening the
> file.
>
> Possibly bug #552289 - displaced unconnected connector lines in resized documents (fixed for 0.48.1). Or:
> Confirmed: Transforming (scaling, rotating, stretching or skewing) a text object with a connector line attached causes the connector line to be unpredictably displaced (the location of the transformed connector point is incorrect). The next translation of the text object triggering a rerouting of the connectors recalculates the connector point "correctly" (it still lags behind one transformation step though).
>
> Reproduced with Inkscape 0.48.0, 0.48.1 and 0.48+devel r10035 on OS X 10.5.8
> Not reproduced with Inkscape 0.47 r22583 -> regression
>
> --
> You received this bug notification because you are a direct subscriber
> of the bug.
> https://bugs.launchpad.net/bugs/714800
>
> Title:
> diagram connectors do not connect apon openeing diagran
>
> Status in Inkscape: A Vector Drawing Tool:
> Incomplete
>
> Bug description:
> I have a diagram that I am connecting paths and text together with
> diagram connectors. This process is very slow for some reason (need to
> wait multiple seconds after each click on my macbook pro). After I
> have created the link if I move the text around the connector head is
> at the last location the item was at. Also after a restart of the
> application and reopening the file some of the connectors have a start
> coordinates at the top left of the diagram.
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/inkscape/+bug/714800/+subscribe

> Is there anything I can do in the mean time for the slowness?

I'm not sure what causes the slowness - it does seem related to the number of (text) objects in the document, but I didn't find a workaround yet.

Item State (itemstatechanged) wrote :

Hello, I have a similar issue. It's extremely annoying, because in some diagrams I'm working on, it is not even possible any more to add connectors.

This happened with Inkscape 0.48, 0.48.1 and now I'm trying with the developer snapshot, same behaviour. I am on OS 10.6 Intel 64 bit.

First issue is, I opened a diagram file that was in perfect shape when I saved it. Now some 80% of the connectors are misplaced and begin at the top left corner of the document.

Second issue: Ok, I deleted them all and tried to redraw them. In 0.48 there was an issue with the connectors starting in the middle of the boxes and not being cropped by the box outline. This has gone in 0.48.1. However now the slow down is even more crazy. It is as if there is a linear slow down of some 100 ms per connector. In the attached file, I ended up with around 12 connectors, after that it's impossible to draw new ones, the program virtually halts, and the rubberband doesn't move any more. Needless to say, the target connection points don't show up any more. Renders Inkscape completely unusable for diagramming; will try to revert to 0.48.0 or 0.47 to see if at least I can draw the connections.

Item State (itemstatechanged) wrote :

Regarding the second issue (not possible to draw connectors after like a dozen) -- this actually turned out to be only a problem when I use my WACOM tablet (Intuos3) ?! If I use the trackpad instead, I can still draw more connectors (although the slowdown is still significant). Should I open another ticket for this?

su_v (suv-lp) wrote :

> In 0.48 there was an issue with the connectors starting
> in the middle of the boxes and not being cropped by the
> box outline. This has gone in 0.48.1.

Yes, that's bug #591586 (fixed for 0.48.1)

> some 80% of the connectors are misplaced and begin at
> the top left corner of the document.

Attaching a modified version of 'InOrder.svg' which renders correctly when opened in Inkscape 0.48.1 and 0.48+devel r10265 on Mac OS X 10.5.8 (i386).

In the attached file, the stack order of the objects was rearranged to have the connector lines rendered after the connected objects (-> draw order): I selected all connector lines (using 'Edit > Find…' searching for the presence of the attribute 'inkscape:connector-type') and raised the resulting selection of paths to the top ('Home'), then I saved it, closed the window and reopened the file. None of the objects and connector lines had been redrawn.

> I deleted them all and tried to redraw them (…)
> If I use the trackpad instead, I can still draw more
> connectors (although the slowdown is still significant).
> Should I open another ticket for this?

The slow-down when adding new connector lines is reproducible without tablet - at the moment I would think that the even worse performance when using the tablet is caused by the same issue (the difference might be the amount of motion events tracked).

su_v (suv-lp) wrote :

This report touches three problems with connectors:
1) performance regression (adding or editing connectors)
2) incorrect updating when moving connected text object
3) incorrect routing on load due to stack order
   (connected shape with preserved transform stacked above connector line)

To avoid tracking multiple issues within one report, I propose to limit this report (bug #714800) to 'Connector performance regression' and track the remaining issues in separate reports (to be filed). Please add a comment if you don't agree.

Attaching new test file which demonstrates that the performance regression (compared to Inkscape 0.47) is based on the number of connectors in the drawing and not related to the type of connected objects (attached test file has no text objects, only paths and connector lines) nor to incorrect routing on load.

The attached test file avoids other known issues with connectors:
- no preserved transforms on layers, groups, shapes and paths
- no clones or text objects
- stack order (connectors are drawn after the connected objects)
- no additional connector attributes (avoid, curvature, …)

summary: - diagram connectors do not connect apon openeing diagran
+ Connector performance regression
su_v (suv-lp) wrote :

New report:
Bug #795614 “Connector rerouting incorrect when moving connected text object ”

tags: added: performance
removed: text
su_v (suv-lp) wrote :

New report:
Bug #795627 “Connector between shapes with preserved transforms is corrupted on load (stack order)”

Beluga (buovjaga) wrote :

Testing with 714800-test-81-paths-2.svg on a 2012 laptop with 8GB memory, I see sometimes a delay that is maybe 0,5 seconds. This happens when picking up a connector end and starting to drag.
Please re-test.

Win 7 64-bit
Inkscape 0.92pre1_64bit r15044

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers