Bug report #14849

Digitizing: avoid intersection takes ages

Added by Paolo Cavallini almost 8 years ago. Updated almost 7 years ago.

Status:Closed
Priority:High
Assignee:-
Category:Digitising
Affected QGIS version:2.18.4 Regression?:Yes
Operating System: Easy fix?:No
Pull Request or Patch supplied:No Resolution:fixed/implemented
Crashes QGIS or corrupts data:Yes Copied to github as #:22802

Description

Steps to reproduce:
  • load a vector
  • set the digitizing options to Avoid intersection, snapping 10 px
  • digitize a large polygon overlapping with the vector

--> qgis remains freezed for >1 min before giving the result.
Previous versions were faster.

See attache project+data

avoid_inters.zip (496 KB) Paolo Cavallini, 2016-05-20 09:50 AM

History

#1 Updated by Giovanni Manghi almost 8 years ago

  • Affected QGIS version changed from 2.14.2 to master
  • Target version set to Version 2.16
  • Priority changed from Normal to Severe/Regression

confirmed also on master.

#2 Updated by Martin Dobias almost 8 years ago

  • Priority changed from Severe/Regression to Normal

Avoid intersections takes longer time here because it tries to add several thousand of topological points. The speed could be improved by rewriting the code to do some caching, but to me it is a unclear why addition of topo points is done in the first place (when topo editing is not enabled).

Just tested with master, 2.14 and 2.8 - all of them take about 20 seconds on my laptop, with 2.8 being slowest, so I would not consider this as being a regression - lowering the priority

#3 Updated by Giovanni Manghi almost 8 years ago

  • Target version deleted (Version 2.16)
  • Crashes QGIS or corrupts data changed from No to Yes
  • Priority changed from Normal to Severe/Regression

Martin Dobias wrote:

Avoid intersections takes longer time here because it tries to add several thousand of topological points. The speed could be improved by rewriting the code to do some caching, but to me it is a unclear why addition of topo points is done in the first place (when topo editing is not enabled).

Just tested with master, 2.14 and 2.8 - all of them take about 20 seconds on my laptop, with 2.8 being slowest, so I would not consider this as being a regression - lowering the priority

Hi Martin, well, that is not a regression is arguable, in fact I have just tested (randomly) a older qgis release - 2.2 - and this issue does not happen.
As easily the issue can cause qgis to completely freeze I think that we should really take care of the problem as a very important one.
We can downgrade it again if necessary, but before I think it would be better to discuss about it.

cheers!

#4 Updated by Giovanni Manghi about 7 years ago

  • Target version set to Version 2.18
  • Affected QGIS version changed from master to 2.18.4

#5 Updated by Giovanni Manghi almost 7 years ago

  • Regression? set to Yes

#6 Updated by Giovanni Manghi almost 7 years ago

  • Priority changed from Severe/Regression to High

#7 Updated by Giovanni Manghi almost 7 years ago

  • Easy fix? set to No

#8 Updated by Giovanni Manghi almost 7 years ago

  • Resolution set to fixed/implemented
  • Description updated (diff)
  • Status changed from Open to Closed

Not as fast as in the past (as far as I remember) but with my testing dataset on 2.18.7 this in now acceptable (it can take a few seconds depending on how many nodes are being evaluated, but do not freezes anymore the program).

Also available in: Atom PDF