Mainly to simplify code and also add some add type safety, replace `GSet` with `blender::Set` for the storage of BMesh triangles and vertices on each PBVH node. Some initial tests point to better performance too, but the numbers are hard to verify so far. Because of the larger `PBVHNode`, memory usage slightly increases (observed a 2% increase with a 1M face grid) for regular Mesh sculpting, but it seems `Set` is more memory efficient than `GSet`, because I also observed a 10% decrease in memory usage for dynamic topology. In the future nodes can be split in a more data-oriented fashion to reduce memory usage overall. This also makes it simpler to switch to another type in the future. Pull Request: https://projects.blender.org/blender/blender/pulls/113907 |
||
---|---|---|
.. | ||
blender | ||
creator | ||
CMakeLists.txt |