Commit: b0ad161b9f6de4201ce3abc6f84c71159e6e346b
Author: Lukas Tönne
Date: Wed May 28 08:30:55 2014 +0200
https://developer.blender.org/rBb0ad161b9f6de4201ce3abc6f84c71159e6e346b
Don't delete all depsgraph stats on every eval, since most of the time
this won't update the majority of data anyway and just delete info.
===================================================================
M source/blender/depsgraph/DEG_depsgraph_debug.h
M source/blender/depsgraph/intern/depsgraph_debug.cpp
===================================================================
diff --git a/source/blender/depsgraph/DEG_depsgraph_debug.h
b/source/blender/depsgraph/DEG_depsgraph_debug.h
index 0ebcc59..ce5ea26 100644
--- a/source/blender/depsgraph/DEG_depsgraph_debug.h
+++ b/source/blender/depsgraph/DEG_depsgraph_debug.h
@@ -47,7 +47,7 @@ struct DepsRelation;
/* Statistics */
typedef struct DepsgraphStatsTimes {
- float last;
+ float duration_last;
} DepsgraphStatsTimes;
typedef struct DepsgraphStatsComponent {
diff --git a/source/blender/depsgraph/intern/depsgraph_debug.cpp
b/source/blender/depsgraph/intern/depsgraph_debug.cpp
index e207c7b..c415850 100644
--- a/source/blender/depsgraph/intern/depsgraph_debug.cpp
+++ b/source/blender/depsgraph/intern/depsgraph_debug.cpp
@@ -740,16 +740,14 @@ void DepsgraphDebug::task_completed(const DepsgraphTask
&task, double time)
ComponentDepsNode *comp = node->owner;
ID *id = comp->owner->id;
-// printf("%s %s : %s took %f ms\n", BKE_idcode_to_name(GS(id->name)),
id->name+2, comp->name.c_str(), time);
-
DepsgraphStatsID *id_stats = get_id_stats(id, true);
- id_stats->times.last += time;
+ id_stats->times.duration_last += time;
/* XXX TODO use something like: if (id->flag & ID_DEG_DETAILS) {...} */
if (0) {
/* XXX component name usage needs cleanup! currently mixes
identifier and description strings! */
DepsgraphStatsComponent *comp_stats = get_component_stats(id,
get_component_name(comp->type, comp->name), true);
- comp_stats->times.last += time;
+ comp_stats->times.duration_last += time;
}
BLI_mutex_unlock(&stats_mutex);
@@ -808,7 +806,12 @@ void DepsgraphDebug::reset_stats()
if (!stats)
return;
- BLI_ghash_clear(stats->id_stats, NULL, deg_id_stats_free);
+ /* XXX this doesn't work, will immediately clear all info,
+ * since most depsgraph updates have none or very few updates to handle.
+ *
+ * Could consider clearing only zero-user ID blocks here
+ */
+// BLI_ghash_clear(stats->id_stats, NULL, deg_id_stats_free);
}
DepsgraphStatsID *DepsgraphDebug::get_id_stats(ID *id, bool create)
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs