Blender Git Loki
Git Commits -> Revision 6be2c07
May 14, 2021, 22:56 (GMT) |
Did some profiling with VTune. * Sculpt code seems to be memory bandwidth bound. * Some key topology loops will have to be written manually instead of using BM_ITER. I wrote a function to re-allocate a bmesh with elements ordered by PBVH leaf nodes, SCULPT_reorder_bmesh. It's currently disabled. This is going to take more profiling, but my original proxy refactor idea might be worth revisiting. Might be more cache efficient. The good news is that the worst case is the smooth code, which I can speed up significantly by keeping a bit of state around. |
Commit Details:
Full Hash: 6be2c079c1281173724ade93a2d9fe89917bc5f3
Parent Commit: 32ceaa7
Lines Changed: +424, -56
10 Modified Paths:
/source/blender/blenkernel/BKE_pbvh.h (+2, -0) (Diff)
/source/blender/blenkernel/intern/customdata.c (+7, -4) (Diff)
/source/blender/blenkernel/intern/paint.c (+9, -3) (Diff)
/source/blender/blenkernel/intern/pbvh.c (+4, -0) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+299, -43) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+12, -2) (Diff)
/source/blender/bmesh/intern/bmesh_log.h (+3, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+48, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+37, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+3, -2) (Diff)
/source/blender/blenkernel/intern/customdata.c (+7, -4) (Diff)
/source/blender/blenkernel/intern/paint.c (+9, -3) (Diff)
/source/blender/blenkernel/intern/pbvh.c (+4, -0) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+299, -43) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+12, -2) (Diff)
/source/blender/bmesh/intern/bmesh_log.h (+3, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt.c (+48, -1) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+37, -0) (Diff)
/source/blender/editors/sculpt_paint/sculpt_intern.h (+3, -2) (Diff)