Blender Git Loki

Git Commits -> Revision 88f33af

July 30, 2021, 14:51 (GMT)
Greatly improve speed of Delaunay when have a lot of holes.

Using part of a patch from Erik Abrahamsson, this replaces the
use of linked lists for original id tracking by Sets.
I had thought that the lists were unlikely to grow to more than
a few elements, but when the mesh has a lot of holes (whose
original ids go *outside* the hole, and therefore, most of the
mesh), this assumption can be very wrong.
On a Text regression test, the time went from 11.67s to 0.16s
with this fix. I also tested to make sure that Boolean didn't
slow down with this, and found it actually had a very slight speedup.

Using Sets exposed a dependency on the ordering of the items
in the id lists, luckily caught by a mesh intersect regression test,
so fixed that.

Commit Details:

Full Hash: 88f33af4ac0a154c0ed8172e3b5abe4c84591ccb
Parent Commit: 41d4a7b
Committed By: Fabian Schempp
Lines Changed: +206, -77

3 Modified Paths:

/source/blender/blenlib/intern/delaunay_2d.cc (+84, -56) (Diff)
/source/blender/blenlib/intern/mesh_intersect.cc (+45, -20) (Diff)
/source/blender/blenlib/tests/BLI_delaunay_2d_test.cc (+77, -1) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021