-
Notifications
You must be signed in to change notification settings - Fork 345
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Improve Delaunay/Voronoi performance
- Introduce a QuadEdgeQuartet structure to store four QuadEdges. This reduces the number of memory allocations needed to create the QuadEdges, and allows them to refer to each other by their relative memory addresses. (This follows the Graphics Gems implementation.) For now, we still require QuadEdgeQuartets to have stable addresses, so we store them in a std::deque. If this requirement can be relaxed, better performance may come from using a std::vector. - Reduce the size of a Vertex and a QuadEdge by eliminating unnecessary virtual methods and associated vtable storage. Overall performance improvement of about 25% observed on benchmark.
- Loading branch information
Showing
14 changed files
with
250 additions
and
251 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.