From 09da47b67a28aa3dd814b5c7d309d3481b39e77c Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 25 Apr 2018 14:58:19 +0200 Subject: Depsgraph: Avoid hash lookup for every evaluated scene query Cache pointer to evaluated scene datablock on relations build time, that pointer never changes after that. --- source/blender/depsgraph/intern/depsgraph_query.cc | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'source/blender/depsgraph/intern/depsgraph_query.cc') diff --git a/source/blender/depsgraph/intern/depsgraph_query.cc b/source/blender/depsgraph/intern/depsgraph_query.cc index 63eb1f18281..8f4bf2d082e 100644 --- a/source/blender/depsgraph/intern/depsgraph_query.cc +++ b/source/blender/depsgraph/intern/depsgraph_query.cc @@ -105,9 +105,7 @@ Scene *DEG_get_evaluated_scene(const Depsgraph *graph) { const DEG::Depsgraph *deg_graph = reinterpret_cast(graph); - Scene *scene_orig = deg_graph->scene; - Scene *scene_cow = - reinterpret_cast(deg_graph->get_cow_id(&scene_orig->id)); + Scene *scene_cow = deg_graph->scene_cow; /* TODO(sergey): Shall we expand datablock here? Or is it OK to assume * that calleer is OK with just a pointer in case scene is not up[dated * yet? -- cgit v1.2.3