Blender Git Loki
Git Commits -> Revision deaff94
Revision deaff94 by Campbell Barton (master) May 25, 2020, 13:07 (GMT) |
Mesh: skip conversion from edit-mesh to mesh in edit-mode This resolves a performance regression in 2.8x where every edit-mode update performed an edit-mesh to mesh conversion. Now the conversion will be lazily initialized if/when it's required. New BKE_mesh_wrapper_* functions abstract over mesh data access. Currently only edit-mesh and regular meshes are supported. In the future sub-surface meshes may be supported too. |
Commit Details:
Full Hash: deaff945d0b965d1e588cdecd084080b07db2e1f
Parent Commit: df8cbdc
Lines Changed: +861, -185
1 Added Path:
/source/blender/blenkernel/intern/mesh_wrapper.c (+165, -0) (View)
35 Modified Paths:
/source/blender/blenkernel/BKE_editmesh_cache.h (+5, -0) (Diff)
/source/blender/blenkernel/BKE_mesh.h (+17, -6) (Diff)
/source/blender/blenkernel/BKE_modifier.h (+3, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+1, -0) (Diff)
/source/blender/blenkernel/intern/crazyspace.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+37, -15) (Diff)
/source/blender/blenkernel/intern/editmesh.c (+2, -1) (Diff)
/source/blender/blenkernel/intern/editmesh_cache.c (+44, -0) (Diff)
/source/blender/blenkernel/intern/mesh.c (+2, -22) (Diff)
/source/blender/blenkernel/intern/mesh_convert.c (+4, -0) (Diff)
/source/blender/blenkernel/intern/mesh_evaluate.c (+16, -0) (Diff)
/source/blender/blenkernel/intern/mesh_iterators.c (+198, -74) (Diff)
/source/blender/blenkernel/intern/modifier.c (+33, -2) (Diff)
/source/blender/blenkernel/intern/object.c (+2, -1) (Diff)
/source/blender/bmesh/intern/bmesh_query.c (+44, -0) (Diff)
/source/blender/bmesh/intern/bmesh_query.h (+10, -0) (Diff)
/source/blender/draw/intern/draw_cache_extract_mesh.c (+144, -41) (Diff)
/source/blender/draw/intern/draw_cache_impl_mesh.c (+19, -7) (Diff)
/source/blender/editors/space_view3d/view3d_walk.c (+13, -10) (Diff)
/source/blender/makesdna/DNA_mesh_types.h (+23, -1) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_cast.c (+6, -1) (Diff)
/source/blender/modifiers/intern/MOD_correctivesmooth.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_displace.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_laplaciandeform.c (+6, -0) (Diff)
/source/blender/modifiers/intern/MOD_laplaciansmooth.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_lattice.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshdeform.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_shrinkwrap.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_simpledeform.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_smooth.c (+3, -0) (Diff)
/source/blender/modifiers/intern/MOD_util.c (+8, -3) (Diff)
/source/blender/modifiers/intern/MOD_warp.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+5, -0) (Diff)
/source/blender/blenkernel/BKE_mesh.h (+17, -6) (Diff)
/source/blender/blenkernel/BKE_modifier.h (+3, -0) (Diff)
/source/blender/blenkernel/CMakeLists.txt (+1, -0) (Diff)
/source/blender/blenkernel/intern/crazyspace.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/DerivedMesh.c (+37, -15) (Diff)
/source/blender/blenkernel/intern/editmesh.c (+2, -1) (Diff)
/source/blender/blenkernel/intern/editmesh_cache.c (+44, -0) (Diff)
/source/blender/blenkernel/intern/mesh.c (+2, -22) (Diff)
/source/blender/blenkernel/intern/mesh_convert.c (+4, -0) (Diff)
/source/blender/blenkernel/intern/mesh_evaluate.c (+16, -0) (Diff)
/source/blender/blenkernel/intern/mesh_iterators.c (+198, -74) (Diff)
/source/blender/blenkernel/intern/modifier.c (+33, -2) (Diff)
/source/blender/blenkernel/intern/object.c (+2, -1) (Diff)
/source/blender/bmesh/intern/bmesh_query.c (+44, -0) (Diff)
/source/blender/bmesh/intern/bmesh_query.h (+10, -0) (Diff)
/source/blender/draw/intern/draw_cache_extract_mesh.c (+144, -41) (Diff)
/source/blender/draw/intern/draw_cache_impl_mesh.c (+19, -7) (Diff)
/source/blender/editors/space_view3d/view3d_walk.c (+13, -10) (Diff)
/source/blender/makesdna/DNA_mesh_types.h (+23, -1) (Diff)
/source/blender/modifiers/intern/MOD_armature.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_cast.c (+6, -1) (Diff)
/source/blender/modifiers/intern/MOD_correctivesmooth.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_curve.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_displace.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_laplaciandeform.c (+6, -0) (Diff)
/source/blender/modifiers/intern/MOD_laplaciansmooth.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_lattice.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_meshdeform.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_shrinkwrap.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_simpledeform.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_smooth.c (+3, -0) (Diff)
/source/blender/modifiers/intern/MOD_util.c (+8, -3) (Diff)
/source/blender/modifiers/intern/MOD_warp.c (+5, -0) (Diff)
/source/blender/modifiers/intern/MOD_wave.c (+5, -0) (Diff)