diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-06-20 18:42:57 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2018-06-20 19:12:48 +0300 |
commit | 40e1e8ebed4633df57eff505b31caca77572a3ac (patch) | |
tree | 299fe4ce85ca607faf6af0f3c7280fb870a06c47 /source | |
parent | e1dff01e2945918a59e52fee38402292b7fa58cf (diff) |
Despgraph: don't tag for transform/geometry update on relations rebuild.
This should already be happening elsewhere and was causing depsgraph
rebuild to be slower than it should.
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/depsgraph/intern/builder/deg_builder.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/source/blender/depsgraph/intern/builder/deg_builder.cc b/source/blender/depsgraph/intern/builder/deg_builder.cc index 1b2dcd8fcf8..b6256e9ceb0 100644 --- a/source/blender/depsgraph/intern/builder/deg_builder.cc +++ b/source/blender/depsgraph/intern/builder/deg_builder.cc @@ -58,7 +58,7 @@ void deg_graph_build_finalize(Main *bmain, Depsgraph *graph) foreach (IDDepsNode *id_node, graph->id_nodes) { ID *id = id_node->id_orig; id_node->finalize_build(graph); - int flag = DEG_TAG_TRANSFORM | DEG_TAG_GEOMETRY; + int flag = 0; if ((id->recalc & ID_RECALC_ALL)) { AnimData *adt = BKE_animdata_from_id(id); if (adt != NULL && (adt->recalc & ADT_RECALC_ANIM) != 0) { @@ -68,7 +68,9 @@ void deg_graph_build_finalize(Main *bmain, Depsgraph *graph) if (!deg_copy_on_write_is_expanded(id_node->id_cow)) { flag |= DEG_TAG_COPY_ON_WRITE; } - DEG_id_tag_update_ex(bmain, id_node->id_orig, flag); + if (flag != 0) { + DEG_id_tag_update_ex(bmain, id_node->id_orig, flag); + } } } |