Commit: 5dde5dd44e05024a53147aef70b26c70bfecdb1b
Author: Sergey Sharybin
Date: Mon Apr 6 14:47:35 2020 +0200
Branches: master
https://developer.blender.org/rB5dde5dd44e05024a53147aef70b26c70bfecdb1b
Libmv: Use static scheduler for threading
For a real-world distortion the payload is quite uniformly
distributed across scanlines. Surely, in the corners more
iterations of minimizer is needed, but that happens in threads
without scheduling overhead.
===================================================================
M intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h
===================================================================
diff --git a/intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h
b/intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h
index 97abee7ab01..e1b53992dfd 100644
--- a/intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h
+++ b/intern/libmv/libmv/simple_pipeline/camera_intrinsics_impl.h
@@ -63,7 +63,7 @@ void LookupWarpGrid::Compute(const CameraIntrinsics
&intrinsics,
double aspx = (double) w / intrinsics.image_width();
double aspy = (double) h / intrinsics.image_height();
#if defined(_OPENMP)
-# pragma omp parallel for schedule(dynamic) num_threads(threads_) \
+# pragma omp parallel for schedule(static) num_threads(threads_) \
if (threads_ > 1 && height > 100)
#endif
for (int y = 0; y < height; y++) {
@@ -125,7 +125,7 @@ void LookupWarpGrid::Apply(const PixelType *input_buffer,
int channels,
PixelType *output_buffer) {
#if defined(_OPENMP)
-# pragma omp parallel for schedule(dynamic) num_threads(threads_) \
+# pragma omp parallel for schedule(static) num_threads(threads_) \
if (threads_ > 1 && height > 100)
#endif
for (int y = 0; y < height; y++) {
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs