[Bf-blender-cvs] [2cb5dff] master: Depsgraph: Avoid transitive relation from local transform to final

Sergey Sharybin noreply at git.blender.org
Mon Dec 5 16:38:53 CET 2016


Commit: 2cb5dffc8d307753f2e05f6a474289182c6b058b
Author: Sergey Sharybin
Date:   Mon Dec 5 15:59:31 2016 +0100
Branches: master
https://developer.blender.org/rB2cb5dffc8d307753f2e05f6a474289182c6b058b

Depsgraph: Avoid transitive relation from local transform to final

There is always an uber eval node on the way. so we can avoid creating
some relations here in order to speed up both construction time and
evaluation.

===================================================================

M	source/blender/depsgraph/intern/builder/deg_builder_relations.cc

===================================================================

diff --git a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
index ac917f2..46f053e 100644
--- a/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
+++ b/source/blender/depsgraph/intern/builder/deg_builder_relations.cc
@@ -406,12 +406,18 @@ void DepsgraphRelationBuilder::build_object(Main *bmain, Scene *scene, Object *o
 		add_relation(ob_ubereval_key, final_transform_key, DEPSREL_TYPE_COMPONENT_ORDER, "Temp Ubereval");
 	}
 	else {
-		/* operation order */
-		add_relation(base_op_key, final_transform_key, DEPSREL_TYPE_COMPONENT_ORDER, "Object Transform");
-
-		// XXX
-		add_relation(base_op_key, ob_ubereval_key, DEPSREL_TYPE_COMPONENT_ORDER, "Temp Ubereval");
-		add_relation(ob_ubereval_key, final_transform_key, DEPSREL_TYPE_COMPONENT_ORDER, "Temp Ubereval");
+		/* NOTE: Keep an eye here, we skip some relations here to "streamline"
+		 * dependencies and avoid transitive relations which causes overhead.
+		 * But once we get rid of uber eval node this will need reconsideration.
+		 */
+		add_relation(base_op_key,
+		             ob_ubereval_key,
+		             DEPSREL_TYPE_COMPONENT_ORDER,
+		             "Temp Ubereval");
+		add_relation(ob_ubereval_key,
+		             final_transform_key,
+		             DEPSREL_TYPE_COMPONENT_ORDER,
+		             "Temp Ubereval");
 	}




More information about the Bf-blender-cvs mailing list