Commit: 46fe816fc6517989f41871710be4a4551020d007
Author: Jacques Lucke
Date: Sun Sep 26 15:07:27 2021 +0200
Branches: temp-varray-get-set-multiple
https://developer.blender.org/rB46fe816fc6517989f41871710be4a4551020d007
use threads
===================================================================
M source/blender/functions/intern/field.cc
===================================================================
diff --git a/source/blender/functions/intern/field.cc
b/source/blender/functions/intern/field.cc
index c34182924cb..5f4b395e36a 100644
--- a/source/blender/functions/intern/field.cc
+++ b/source/blender/functions/intern/field.cc
@@ -18,6 +18,7 @@
#include "BLI_multi_value_map.hh"
#include "BLI_set.hh"
#include "BLI_stack.hh"
+#include "BLI_task.hh"
#include "BLI_vector_set.hh"
#include "FN_field.hh"
@@ -468,7 +469,10 @@ Vector<const GVArray *> evaluate_fields(ResourceScope
&scope,
/* The result has been written into the destination provided by the
caller already. */
continue;
}
- output_varray->set_multiple_by_copy(*computed_varray, mask);
+ threading::parallel_for(mask.index_range(), 1024, [&](IndexRange range) {
+ const IndexMask sub_mask = mask.slice(range);
+ output_varray->set_multiple_by_copy(*computed_varray, sub_mask);
+ });
r_varrays[out_index] = output_varray;
}
}
_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs