diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-02-20 15:29:43 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-02-20 15:29:43 +0400 |
commit | 1f88ee6213ed5e8b60597034d52188256448b104 (patch) | |
tree | bbaa669638801fa6a4760de77f7e522665ed9bf9 /source/blender/editors/space_clip | |
parent | 5d04d06d76f0f48c0bc42c223b204b062938df04 (diff) |
Fix #34299: Motion Tracking 20x slower under Windows
Root of the issue goes to SSBA library which didn't work
properly when using optimization in MSVC. It was worked
around by disabling optimization for libmv, which is in
fact shame and shouldn't have been done.
It seems after some changes optimization does not affect
on SSBA code, but enabling optimization could be risky so
close to release.
For now solved by splitting SSBA to separate CMake/SCons
library, disabling optimization only for this particular
library and enabling optimization for rest of libmv.
Tested on all files which used to fail with optimization
enabled in SSBA and all of them works the same as before.
Tracking speed is significantly higher now.
After release we'll enable optimization for SSBA as well,
so there'll be no crappy build setup. Later we'll replace
old SSBA library with new BA code based on Ceres.
Bundle script would be broken for until then, so better
not to use it.
Diffstat (limited to 'source/blender/editors/space_clip')
-rw-r--r-- | source/blender/editors/space_clip/tracking_ops.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/source/blender/editors/space_clip/tracking_ops.c b/source/blender/editors/space_clip/tracking_ops.c index 56a890c714a..77ed197c1d7 100644 --- a/source/blender/editors/space_clip/tracking_ops.c +++ b/source/blender/editors/space_clip/tracking_ops.c @@ -1105,7 +1105,7 @@ static void track_markers_startjob(void *tmv, short *stop, short *do_update, flo { TrackMarkersJob *tmj = (TrackMarkersJob *)tmv; int framenr = tmj->sfra; - //double t = PIL_check_seconds_timer(); + // double t = PIL_check_seconds_timer(); while (framenr != tmj->efra) { if (tmj->delay > 0) { @@ -1141,7 +1141,7 @@ static void track_markers_startjob(void *tmv, short *stop, short *do_update, flo break; } - //printf("Tracking time: %lf\n", PIL_check_seconds_timer()-t); + // printf("Tracking time: %lf\n", PIL_check_seconds_timer()-t); } static void track_markers_updatejob(void *tmv) |