diff options
author | Sergey Sharybin <sergey@blender.org> | 2022-09-13 16:56:54 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-09-13 17:05:16 +0300 |
commit | 109cc14dba98db2b10688da8737b528877464d2c (patch) | |
tree | 25424c7113091503cff16746310597892e80248c /source/blender/depsgraph/intern/eval/deg_eval_flush.cc | |
parent | 8442b0ffc1df59cf6e557e7243b9197b2a898aa0 (diff) |
Revert hidden object optimization in depsgraph
The internal state tracking is not fully suited for such kind
of optimization yet.
It is probably not that much work to make them work, but the
issue caused by the changes is serious enough for the studio
so it feels better to revert changes for now and have a closer
look into remaining issues without pressure.
Diffstat (limited to 'source/blender/depsgraph/intern/eval/deg_eval_flush.cc')
-rw-r--r-- | source/blender/depsgraph/intern/eval/deg_eval_flush.cc | 17 |
1 files changed, 0 insertions, 17 deletions
diff --git a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc index 3f42d1a80c1..09981eb32c5 100644 --- a/source/blender/depsgraph/intern/eval/deg_eval_flush.cc +++ b/source/blender/depsgraph/intern/eval/deg_eval_flush.cc @@ -31,7 +31,6 @@ #include "intern/debug/deg_debug.h" #include "intern/depsgraph.h" #include "intern/depsgraph_relation.h" -#include "intern/depsgraph_tag.h" #include "intern/depsgraph_type.h" #include "intern/depsgraph_update.h" #include "intern/node/deg_node.h" @@ -100,18 +99,6 @@ inline void flush_prepare(Depsgraph *graph) inline void flush_schedule_entrypoints(Depsgraph *graph, FlushQueue *queue) { - /* Something changed in the scene, so re-tag IDs with flags which were previously ignored due to - * ID being hidden. This will ensure the ID is properly evaluated when it becomes visible. */ - for (IDNode *node : graph->id_nodes) { - if (node->id_invisible_recalc) { - graph_id_tag_update(graph->bmain, - graph, - node->id_orig, - node->id_invisible_recalc, - DEG_UPDATE_SOURCE_VISIBILITY); - } - } - for (OperationNode *op_node : graph->entry_tags) { queue->push_back(op_node); op_node->scheduled = true; @@ -384,10 +371,6 @@ void deg_graph_flush_updates(Depsgraph *graph) while (op_node != nullptr) { /* Tag operation as required for update. */ op_node->flag |= DEPSOP_FLAG_NEEDS_UPDATE; - /* Tag depsgraph visibility update when visibility operation is tagged for an update. */ - if (op_node->opcode == OperationCode::VISIBILITY) { - graph->need_update_nodes_visibility = true; - } /* Inform corresponding ID and component nodes about the change. */ ComponentNode *comp_node = op_node->owner; IDNode *id_node = comp_node->owner; |