Blender
V5.0
source
blender
depsgraph
intern
eval
deg_eval_stats.cc
Go to the documentation of this file.
1
/* SPDX-FileCopyrightText: 2017 Blender Authors
2
*
3
* SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9
#include "
intern/eval/deg_eval_stats.h
"
10
11
#include "
intern/depsgraph.hh
"
12
13
#include "
intern/node/deg_node.hh
"
14
#include "
intern/node/deg_node_component.hh
"
15
#include "
intern/node/deg_node_id.hh
"
16
#include "
intern/node/deg_node_operation.hh
"
17
18
namespace
blender::deg
{
19
20
void
deg_eval_stats_aggregate
(
Depsgraph
*graph)
21
{
22
/* Reset current evaluation stats for ID and component nodes.
23
* Those are not filled in by the evaluation engine. */
24
for
(
Node
*node : graph->
id_nodes
) {
25
IDNode
*id_node = (
IDNode
*)node;
26
for
(
ComponentNode
*comp_node : id_node->
components
.values()) {
27
comp_node->stats.reset_current();
28
}
29
id_node->
stats
.
reset_current
();
30
}
31
/* Now accumulate operation timings to components and IDs. */
32
for
(
OperationNode
*op_node : graph->
operations
) {
33
ComponentNode
*comp_node = op_node->
owner
;
34
IDNode
*id_node = comp_node->
owner
;
35
id_node->
stats
.
current_time
+= op_node->
stats
.
current_time
;
36
comp_node->
stats
.
current_time
+= op_node->
stats
.
current_time
;
37
}
38
}
39
40
}
// namespace blender::deg
deg_eval_stats.h
deg_node.hh
deg_node_component.hh
deg_node_id.hh
deg_node_operation.hh
depsgraph.hh
blender::deg
Definition
DEG_depsgraph_light_linking.hh:14
blender::deg::deg_eval_stats_aggregate
void deg_eval_stats_aggregate(Depsgraph *graph)
Definition
deg_eval_stats.cc:20
blender::deg::ComponentNode
Definition
deg_node_component.hh:32
blender::deg::ComponentNode::owner
IDNode * owner
Definition
deg_node_component.hh:116
blender::deg::Depsgraph
Definition
depsgraph.hh:48
blender::deg::Depsgraph::operations
OperationNodes operations
Definition
depsgraph.hh:133
blender::deg::Depsgraph::id_nodes
IDDepsNodes id_nodes
Definition
depsgraph.hh:97
blender::deg::IDNode
Definition
deg_node_id.hh:39
blender::deg::IDNode::components
Map< ComponentIDKey, ComponentNode * > components
Definition
deg_node_id.hh:89
blender::deg::Node::Stats::current_time
double current_time
Definition
deg_node.hh:172
blender::deg::Node::Stats::reset_current
void reset_current()
Definition
deg_node.cc:274
blender::deg::Node
Definition
deg_node.hh:155
blender::deg::Node::stats
Stats stats
Definition
deg_node.hh:184
blender::deg::OperationNode
Definition
deg_node_operation.hh:250
blender::deg::OperationNode::owner
ComponentNode * owner
Definition
deg_node_operation.hh:281
Generated on
for Blender by
doxygen
1.16.1