Blender Git Loki
Git Commits -> Revision d04b16b3
Revision d04b16b3 by Sergey Sharybin (depsgraph_refactor) November 7, 2014, 11:47 (GMT) |
Depsgraph: Experiment with time source dependnecy update Goal is to be able to play animation back for investigating how flush happens, how object dependencies are being evaluated and all the rest of the stuff which isn't so visible with the static scene. Main idea here is to have a relations in the depsgraph between the time source node and all the nodes which depends on time. We go with the relations approach in order to make it fast to figure out which nodes are to be tagged for updated when the time changes. It is faster to iterate over the time dependencies rather than iterating over the whole depsgraph, Now, currently dependency graph's relations links only possible between operation nodes. For this reason we don't use actual dependency structure to define relations between time and nodes, but we've got a list of nodes which depends on time stored in the time source node. This is the most simple way to deal for now. Currently we use relation between time and ID nodes, which corresponds to how current depsgraph works, in the future we'll likely need to make it relation betteen time source and individual components. Or maybe even revisit the time flushes.. |
Commit Details:
Full Hash: d04b16b3b25133635bee3085a97931939036f34a
Parent Commit: c4efa25
Lines Changed: +103, -8
6 Modified Paths:
/source/blender/depsgraph/intern/depsgraph.cpp (+7, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph.h (+4, -1) (Diff)
/source/blender/depsgraph/intern/depsgraph_build_relations.cpp (+60, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph_eval.cpp (+3, -5) (Diff)
/source/blender/depsgraph/intern/depsnode.cpp (+18, -0) (Diff)
/source/blender/depsgraph/intern/depsnode.h (+11, -2) (Diff)
/source/blender/depsgraph/intern/depsgraph.h (+4, -1) (Diff)
/source/blender/depsgraph/intern/depsgraph_build_relations.cpp (+60, -0) (Diff)
/source/blender/depsgraph/intern/depsgraph_eval.cpp (+3, -5) (Diff)
/source/blender/depsgraph/intern/depsnode.cpp (+18, -0) (Diff)
/source/blender/depsgraph/intern/depsnode.h (+11, -2) (Diff)