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

Reply via email to