Blender Git Loki

Blender Git "depsgraph_refactor" branch commits.

Page: 25 / 59

June 3, 2014, 15:25 (GMT)
Use the global debug_value for switching between old and new depsgraph
evaluation and simulation, for testing purposes.

With a few UI bells and whistles this will allow quick comparison of the
depsgraph implementations to make sure the behavior is consistent.
June 3, 2014, 14:11 (GMT)
Merge branch 'master' into depsgraph_refactor
June 2, 2014, 09:35 (GMT)
Fixes for release build stubs of debugging functions.
May 31, 2014, 11:10 (GMT)
Correct flushing, this was only happening with (still dysfunctional)
frame change updates.
May 30, 2014, 16:06 (GMT)
Some tweaks to managing sce->depsgraph to make sure it stays in sync
with the current sce->theDag.

Eventually depsgraph should be moved out of the Scene DNA, but until
then it's useful to have it there for testing.
May 30, 2014, 14:53 (GMT)
Clear depsgraph timings when evaluating a node.
May 30, 2014, 14:17 (GMT)
Simple stats drawing for the depsgraph info mode.
May 30, 2014, 08:28 (GMT)
Added a toolbar to the info space.

This allows showing a mode switch button without having to put this into
the main menu bar.
May 30, 2014, 07:37 (GMT)
New 'mode' property for the info space to draw depsgraph statistics.
May 28, 2014, 06:30 (GMT)
Don't delete all depsgraph stats on every eval, since most of the time
this won't update the majority of data anyway and just delete info.
May 27, 2014, 15:01 (GMT)
Record basic statistics on depsgraph timing, if enabled in user prefs.

This works with a (C style) `DepsgraphStats` struct, which holds a hash
table containing per-ID block info. These ID info structs in turn can
optionally have more detailed per-component info (currently never
generated, this would have to be enabled per ID by the user in some way).
May 27, 2014, 06:56 (GMT)
Update simulation: Spend random sleep time in depsgraph operation stubs,
to simulate actual work and provide a testbed for the scheduler.
May 27, 2014, 05:47 (GMT)
Debug cleanup: removed the build step debuggging.

Build debugging is not very useful and pollutes the API somewhat.
Also moved eval debug methods into the common DepsgraphDebug class.
May 26, 2014, 17:24 (GMT)
Added a central DepsgraphDebug class to hold the various reporting
functions for debugging/logging/statistics.

This could eventually have multiple implementations, including a stub
for noop functions, and be passed as a top-level template parameter to
eliminate overhead as much as possible.
May 26, 2014, 15:09 (GMT)
Exit from the task run function early in case of NOOP.
May 26, 2014, 15:03 (GMT)
Assign zero cost to NOOP nodes, the priority for these only depends
on the cost of child nodes then.
May 26, 2014, 14:55 (GMT)
Move the evaluation code for operations into the task scheduler.

Timing calls are disabled atm, these will go into a dedicated debug
utility class, which can be disabled entirely to avoid any overhead.
May 26, 2014, 10:32 (GMT)
Removed the bone_hash and associated methods from the pose component.

Instead for storing bones in a separate hash table, which adds
complexity and ambiguity, they are now stored as regular components in
the ID node component map as well, with a string identifier to
distinguish them.

Looking up bones from the pose component by name can be done just as
well on the ID level, by using a combined key of
(DEPSNODE_TYPE_BONE, bone name)
This key extension (subdata) can be a general optional feature of
components, useful e.g. for modifiers, constraints, particle systems.
It saves us the work of implementing and maintaining individual hashes
for all these sub-component types and streamlines the API quite a bit.

Looping/filtering bones can work just as easily by looping over an ID
block's components instead of the bone hash table of the pose component.
The overhead is negligible, the number of other components in a single
ID block would not scale as much as the number of ID blocks in general.
Such loops would be an exception anyway.
May 26, 2014, 09:50 (GMT)
Extended keys for components, using an optional name string.

This will replace the current sub-component hashes for bones (and later
could be used for modifiers, constraints, particle systems etc.).
May 26, 2014, 08:47 (GMT)
Setting bone component channel explicitly is redundant, the component
already does this in the init method based on the name.

Eventually the pchan field might be removed entirely, currently it
doesn't look like it has a purpose.
Tehnyt: Miika HämäläinenViimeksi päivitetty: 07.11.2014 14:18MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021