diff options
author | Howard Trickey <howard.trickey@gmail.com> | 2020-08-22 22:53:22 +0300 |
---|---|---|
committer | Howard Trickey <howard.trickey@gmail.com> | 2020-08-22 22:53:22 +0300 |
commit | f4e337a7da38445615cf0def3ecc112a1948e5ff (patch) | |
tree | 9230f71005001209eed6ab223c457b1b7fa8e416 /source/blender/blenlib | |
parent | 99d4d94762dcd5eb64fb6b4c1d56ca610447e741 (diff) |
Some tweaks to multithreading parameters based on tests to minimize time.
Diffstat (limited to 'source/blender/blenlib')
-rw-r--r-- | source/blender/blenlib/intern/mesh_intersect.cc | 8 | ||||
-rw-r--r-- | source/blender/blenlib/tests/BLI_mesh_intersect_test.cc | 6 |
2 files changed, 5 insertions, 9 deletions
diff --git a/source/blender/blenlib/intern/mesh_intersect.cc b/source/blender/blenlib/intern/mesh_intersect.cc index 32b423c9f2c..28cd9c216e6 100644 --- a/source/blender/blenlib/intern/mesh_intersect.cc +++ b/source/blender/blenlib/intern/mesh_intersect.cc @@ -2486,9 +2486,7 @@ static void calc_overlap_itts(Map<std::pair<int, int>, ITT_value> &itt_map, int tot_intersect_pairs = data.intersect_pairs.size(); TaskParallelSettings settings; BLI_parallel_range_settings_defaults(&settings); - constexpr int intersect_threading_threshold = 100; - settings.use_threading = (intersect_use_threading && - tot_intersect_pairs > intersect_threading_threshold); + settings.min_iter_per_thread = 1000; BLI_task_parallel_range(0, tot_intersect_pairs, &data, calc_overlap_itts_range_func, &settings); } @@ -2614,9 +2612,7 @@ static void calc_subdivided_tris(Array<IMesh> &r_tri_subdivided, int overlap_tri_range_tot = data.overlap_tri_range.size(); TaskParallelSettings settings; BLI_parallel_range_settings_defaults(&settings); - constexpr int trisubdiv_threading_threshold = 100; - settings.use_threading = (intersect_use_threading && - overlap_tri_range_tot > trisubdiv_threading_threshold); + settings.min_iter_per_thread = 50; BLI_task_parallel_range( 0, overlap_tri_range_tot, &data, calc_subdivided_tri_range_func, &settings); } diff --git a/source/blender/blenlib/tests/BLI_mesh_intersect_test.cc b/source/blender/blenlib/tests/BLI_mesh_intersect_test.cc index f03bab14ffb..c430db349b9 100644 --- a/source/blender/blenlib/tests/BLI_mesh_intersect_test.cc +++ b/source/blender/blenlib/tests/BLI_mesh_intersect_test.cc @@ -925,7 +925,7 @@ static void spheresphere_test(int nrings, double y_offset, bool use_self) std::cout << "Create time: " << time_create - time_start << "\n"; std::cout << "Intersect time: " << time_intersect - time_create << "\n"; std::cout << "Total time: " << time_intersect - time_start << "\n"; - write_obj_mesh(out, "spheresphere"); + // write_obj_mesh(out, "spheresphere"); BLI_task_scheduler_exit(); } @@ -1064,12 +1064,12 @@ static void spheregrid_test(int nrings, int grid_level, double z_offset, bool us TEST(mesh_intersect_perf, SphereSphere) { - spheresphere_test(64, 0.5, false); + spheresphere_test(512, 0.5, false); } TEST(mesh_intersect_perf, SphereGrid) { - spheregrid_test(64, 4, 0.1, false); + spheregrid_test(512, 4, 0.1, false); } #endif |