Doing some profiling on this, the vast majority of processing time (86%) is spent on vert_neighbors_get_mesh
Updated original post, regression happened between
8f95c2ce9fcf
~ 3b23dc4b4d47
Unable to confirm on today's daily (fbf95a05d5f1
) on a plane with 1.6 mil verts
Minor API nit here; since grid_area
is always grid_size * grid_size
, what do you think about making this and grid_size
private, and adding a setter for grid_size
that also sets grid_area
appropriately?
Did you miss removing CCG_elem_offset_co
or is there some place outside of this refactored code that still uses it?
Two minor comments, didn't do any particular testing - is there some area you'd like manual testing of?
I think asserts here and in pbvh_get
checking against DEG_is_evaluated_object
are probably worth adding
Thought I had while reviewing this - this might introduce bugs where existing code depended on nullptr
to know to do some sort of initialization? Might be worth a quick pass over dependencies.
Yeah, this existed from before - probably better to just remove them and replace with what you’re suggesting than add more support for them - will remove.