[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [58793] branches/soc-2013-depsgraph_mt/ source/blender/blenkernel/intern/scene.c: Remove annoying statistics ifdef from code
Sergey Sharybin
sergey.vfx at gmail.com
Wed Jul 31 23:56:06 CEST 2013
Revision: 58793
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=58793
Author: nazgul
Date: 2013-07-31 21:56:06 +0000 (Wed, 31 Jul 2013)
Log Message:
-----------
Remove annoying statistics ifdef from code
All the statistics is already inside if() block, so
it doesn't have any noticeable affect on overall
performance.
Modified Paths:
--------------
branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/scene.c
Modified: branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/scene.c
===================================================================
--- branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/scene.c 2013-07-31 21:56:00 UTC (rev 58792)
+++ branches/soc-2013-depsgraph_mt/source/blender/blenkernel/intern/scene.c 2013-07-31 21:56:06 UTC (rev 58793)
@@ -1162,25 +1162,20 @@
BKE_rigidbody_do_simulation(scene, ctime);
}
-#define ENABLE_THREAD_STATISTICS
-
-#ifdef ENABLE_THREAD_STATISTICS
typedef struct StatisicsEntry {
struct StatisicsEntry *next, *prev;
Object *object;
double time;
} StatisicsEntry;
-#endif
typedef struct ThreadedObjectUpdateState {
Scene *scene;
Scene *scene_parent;
SpinLock lock;
-#ifdef ENABLE_THREAD_STATISTICS
- ListBase statistics[64];
+ /* Execution statistics */
+ ListBase statistics[BLENDER_MAX_THREADS];
int num_updated_objects;
-#endif
} ThreadedObjectUpdateState;
static void scene_update_object_add_task(void *node, void *user_data);
@@ -1197,13 +1192,10 @@
Scene *scene_parent = state->scene_parent;
if (object) {
-#ifdef ENABLE_THREAD_STATISTICS
double start_time = 0.0;
-#endif
PRINT("Thread %d: update object %s\n", threadid, object->id.name);
-#ifdef ENABLE_THREAD_STATISTICS
if (G.debug & G_DEBUG) {
start_time = PIL_check_seconds_timer();
@@ -1213,7 +1205,6 @@
BLI_spin_unlock(&state->lock);
}
}
-#endif
/* We only update object itself here, dupli-group will be updated
* separately from main thread because of we've got no idea about
@@ -1221,7 +1212,6 @@
*/
BKE_object_handle_update_ex(scene_parent, object, scene->rigidbody_world);
-#ifdef ENABLE_THREAD_STATISTICS
/* Calculate statistics. */
if (G.debug & G_DEBUG) {
StatisicsEntry *entry;
@@ -1232,7 +1222,6 @@
BLI_addtail(&state->statistics[threadid], entry);
}
-#endif
}
else {
PRINT("Threda %d: update node %s\n", threadid,
@@ -1254,12 +1243,16 @@
BLI_task_pool_push(task_pool, scene_update_object_func, node, false, TASK_PRIORITY_LOW);
}
-#ifdef ENABLE_THREAD_STATISTICS
static void print_threads_statistics(ThreadedObjectUpdateState *state)
{
- int i;
- int tot_thread = BLI_system_thread_count();
+ int i, tot_thread;
+ if ((G.debug & G_DEBUG) == 0) {
+ return;
+ }
+
+ tot_thread = BLI_system_thread_count();
+
for (i = 0; i < tot_thread; i++) {
int total_objects = 0;
double total_time = 0.0;
@@ -1280,15 +1273,14 @@
for (entry = state->statistics[i].first;
entry;
entry = entry->next)
- {
- printf(" %s in %f sec\n", entry->object->id.name + 2, entry->time);
- }
+ {
+ printf(" %s in %f sec\n", entry->object->id.name + 2, entry->time);
+ }
}
BLI_freelistN(&state->statistics[i]);
}
}
-#endif
static void scene_update_objects(Scene *scene, Scene *scene_parent)
{
@@ -1305,10 +1297,8 @@
state.scene = scene;
state.scene_parent = scene_parent;
-#ifdef ENABLE_THREAD_STATISTICS
memset(state.statistics, 0, sizeof(state.statistics));
state.num_updated_objects = 0;
-#endif
BLI_spin_init(&state.lock);
task_pool = BLI_task_pool_create(task_scheduler, &state);
@@ -1345,11 +1335,9 @@
BLI_spin_end(&state.lock);
-#ifdef ENABLE_THREAD_STATISTICS
if (G.debug & G_DEBUG) {
print_threads_statistics(&state);
}
-#endif
/* XXX: Weak, very weak!
*
More information about the Bf-blender-cvs
mailing list