diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2021-07-18 17:48:57 +0300 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2021-07-18 17:48:57 +0300 |
commit | 3c8d261557e0b76d2d97902ade5668b6044227b6 (patch) | |
tree | bb93cca1993dbe982a9c3b62275a5a2a3739ac9f /source/blender/blenkernel/intern/spline_base.cc | |
parent | e82c5c660778b3805f50f3f2901923692c17db2a (diff) |
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.
Diffstat (limited to 'source/blender/blenkernel/intern/spline_base.cc')
0 files changed, 0 insertions, 0 deletions