Blender Git Loki

Git Commits -> Revision cc4dc2d

Revision cc4dc2d by Brecht Van Lommel (master)
June 22, 2018, 15:57 (GMT)
Depsgraph: cache effector relations, for performance and stability.

To find all effectors in the scene, we need to loop over all objects.
Doing this during depsgraph evaluation caused crashes because not all
objects are guaranteed to be evaluated yet.

To fix this, we now cache the relations as part of the dependency graph
build. As a bonus this also makes evaluation faster for big scenes,
since looping over all objects for each particle system is slow.

Fixes T55156.

Commit Details:

Full Hash: cc4dc2dce26c724e27598e4a1878e00fdf30dcf2
Parent Commit: 79615c5
Lines Changed: +432, -228

2 Added Paths:

/source/blender/depsgraph/DEG_depsgraph_physics.h (+51, -0) (View)
/source/blender/depsgraph/intern/depsgraph_physics.cc (+94, -0) (View)

17 Modified Paths:

/source/blender/blenkernel/BKE_effect.h (+31, -7) (Diff)
/source/blender/blenkernel/intern/boids.c (+1, -1) (Diff)
/source/blender/blenkernel/intern/cloth.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/dynamicpaint.c (+3, -3) (Diff)
/source/blender/blenkernel/intern/effect.c (+142, -117) (Diff)
/source/blender/blenkernel/intern/particle.c (+2, -2) (Diff)
/source/blender/blenkernel/intern/particle_system.c (+17, -13) (Diff)
/source/blender/blenkernel/intern/rigidbody.c (+3, -3) (Diff)
/source/blender/blenkernel/intern/smoke.c (+3, -3) (Diff)
/source/blender/blenkernel/intern/softbody.c (+24, -28) (Diff)
/source/blender/depsgraph/CMakeLists.txt (+2, -0) (Diff)
/source/blender/depsgraph/intern/builder/deg_builder_relations.cc (+29, -32) (Diff)
/source/blender/depsgraph/intern/depsgraph.cc (+4, -1) (Diff)
/source/blender/depsgraph/intern/depsgraph.h (+4, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph_build.cc (+13, -15) (Diff)
/source/blender/depsgraph/intern/depsgraph_intern.h (+6, -0) (Diff)
/source/blender/physics/intern/BPH_mass_spring.cpp (+1, -1) (Diff)
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021