Blender Git Commit Log
Git Commits -> Revision 7fca310
May 16, 2021, 04:19 (GMT) |
Dyntopo now updates the existing pbvh on undo instead of building a new one from scratch, an operation that can be slow despite being threaded. PBVH building is a memory bound operation (not just on the CPU side either, remember the draw buffers have to be fully regenerated too). Incrementally updating it this way is enormously faster (about as fast as non-dyntopo undo). The downside is we don't have the convienience of users regularly building the pbvh from scratch anymore. Dyntopo does try to join empty PBVH nodes (which happens after every stroke), but that's not a complete substitute for a decent tree balancer. That's on the todo list. |
Commit Details:
Full Hash: 7fca310f25e3ac2c434dd05a2eaf55b6c82f3922
Parent Commit: 27f4f76
Lines Changed: +652, -115
10 Modified Paths:
/source/blender/blenkernel/BKE_pbvh.h (+5, -1) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+236, -27) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+91, -24) (Diff)
/source/blender/bmesh/intern/bmesh_log.h (+18, -4) (Diff)
/source/blender/draw/intern/draw_manager_data.c (+34, -23) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+9, -7) (Diff)
/source/blender/editors/sculpt_paint/sculpt_face_set.c (+6, -5) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+130, -15) (Diff)
/source/blender/gpu/GPU_buffers.h (+4, -2) (Diff)
/source/blender/gpu/intern/gpu_buffers.c (+119, -7) (Diff)
/source/blender/blenkernel/intern/pbvh_bmesh.c (+236, -27) (Diff)
/source/blender/bmesh/intern/bmesh_log.c (+91, -24) (Diff)
/source/blender/bmesh/intern/bmesh_log.h (+18, -4) (Diff)
/source/blender/draw/intern/draw_manager_data.c (+34, -23) (Diff)
/source/blender/editors/sculpt_paint/sculpt_dyntopo.c (+9, -7) (Diff)
/source/blender/editors/sculpt_paint/sculpt_face_set.c (+6, -5) (Diff)
/source/blender/editors/sculpt_paint/sculpt_undo.c (+130, -15) (Diff)
/source/blender/gpu/GPU_buffers.h (+4, -2) (Diff)
/source/blender/gpu/intern/gpu_buffers.c (+119, -7) (Diff)