Blender Git Commit Log

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)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021