From afb4da6650daeb8b8ac5fe9d3a6439c3433d7dc5 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Wed, 19 Sep 2018 15:21:51 +0200 Subject: Despgraph: Keep track of per-component visibility The idea of those flags is to avoid evaluation of operations which are not needed to bring visible objects to an up to date state. Previously, dependency graph attempted to do combine those into an ID level flag. In practice it proved to be rather tricky, since there could be dependency cycles on ID level which will not exist on component level. --- source/blender/depsgraph/intern/eval/deg_eval.cc | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'source/blender/depsgraph/intern/eval') diff --git a/source/blender/depsgraph/intern/eval/deg_eval.cc b/source/blender/depsgraph/intern/eval/deg_eval.cc index 0d1adfb0144..db6ab21b9a6 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval.cc @@ -112,8 +112,7 @@ static bool check_operation_node_visible(OperationDepsNode *op_node) if (comp_node->type == DEG_NODE_TYPE_COPY_ON_WRITE) { return true; } - const IDDepsNode *id_node = comp_node->owner; - return id_node->is_visible; + return comp_node->affects_directly_visible; } static void calculate_pending_func( -- cgit v1.2.3