Blender Git Commits

Blender Git "blender-v2.78b-release" branch commits.

Page: 4 / 23

January 20, 2017, 10:36 (GMT)
Depsgraph: Fix missing ID node tag

Might have caused nodes created multiple times for the same object.
January 20, 2017, 10:36 (GMT)
Depsgraph: Add some data builder logic to corresponding function
January 20, 2017, 10:36 (GMT)
Depsgraph: cleanup, no functional changes
January 20, 2017, 10:36 (GMT)
Depsgraph: Disable timing profile
January 20, 2017, 10:36 (GMT)
Despgraph: Optimize cycles detection algorithm

The idea is simple: when falling back to one of the nodes which was partially
handled we "resume" checking outgoing relations from the index which we stopped.

This gives about 15-20% depsgraph construction time save.
January 20, 2017, 10:36 (GMT)
Depsgraph: Speedup initial rig build time

We don't need to sort bone channels, it's all taken care about
by the depsgraph itself.

Gives up to 30% initial rig construction time speedup.
January 20, 2017, 10:36 (GMT)
fix building depsgraph after recent changes
January 20, 2017, 10:36 (GMT)
Depsgraph: Move class implementation from header to implementation files

This is more proper way to go:

- Avoids re-compilation of all dependent files when implementation changes
without changed API,

- Linker should have much simpler time now de-duplicating and getting rid
of redundant implementations.
January 20, 2017, 10:36 (GMT)
Depsgraph: Move key implementation from header to dedicated file
January 20, 2017, 10:36 (GMT)
Depsgraph: Do not rely on indirectly included cstring

Also add comment why exactly cstring is needed.
January 20, 2017, 10:36 (GMT)
Depsgraph: Fully switch from string to const char*

This brings up to 10-20% depsgraph build time improvement in the layout
files from the studio repository.
January 20, 2017, 10:36 (GMT)
Depsgraph: Cleanup, operation has name, not description

Hopefully should make things more clear here.
January 20, 2017, 10:36 (GMT)
Depsgraph: Remove unused function

A residue from times where we thought to do partial graph updates,
which we are not committing any time soon.
January 20, 2017, 10:36 (GMT)
Depsgraph: Add extra name tag for operation nodes

The idea here is to address issue that name on it's own is not
always unique: for example, when adding driver operations the
name used for nodes is the RNA path (and multiple drivers can
write to different array indices of the path). Basically, now
it's possible to pass extra integer value to distinguish
operations in such cases.

So now we've already switched from sprintf() to construct unique
operation name to pass RNA path and array index.

There should be no functional changes yet, but this work is
required for further work about replacing string with const
char*.
January 20, 2017, 10:36 (GMT)
Depsgraph: Use const char for component API
January 20, 2017, 10:36 (GMT)
Depsgraph: Use const char instead of string in part of drivers construction
January 20, 2017, 10:36 (GMT)
Fix T49826: NEW-DEPSGRAPH - Texture is not updated after changing its space color

The issue was caused by image ID nodes not being in the depsgraph.

Now, tricky part: we only add nodes but do not add relations yet. Reasoning:

- It's currently important to only call editor's ID update callback to solve
the issue, without need to flush changes somewhere deeper.

- Adding relations might cause some unwanted updates, so will leave that for
a later investigation.
January 20, 2017, 10:36 (GMT)
Depsgraph: Remove some includes which seems unused
January 20, 2017, 10:36 (GMT)
Depsgraph: Add code for timing despgraph builder
January 20, 2017, 10:36 (GMT)
Depsgraph: Switch away form string to const char* for node names

There is no real reason to have nodes storing heap-allocated name
and description. Doing this increases amount of allocations during
dependency graph building, which usually means somewhat slowness.

We're temporarily loosing some eyecandy in the graphviz visualizer,
but those we can bring back as a part of graphiz dump (which happens
much less often than depsgraph build).

This will happen in multiple commits for the ease of bisect in the
future just in case this causes any regression. This commit contains
ID creation API changes.
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021