[Bf-blender-cvs] [c931a0057ff] master: Sculpt: use dynamic scheduling and chunk size 1 for multithreading
Brecht Van Lommel
noreply at git.blender.org
Sun Sep 29 16:24:09 CEST 2019
Commit: c931a0057ffea26175a2dc111718e5f3590b00f8
Author: Brecht Van Lommel
Date: Sun Sep 29 01:38:44 2019 +0200
Branches: master
https://developer.blender.org/rBc931a0057ffea26175a2dc111718e5f3590b00f8
Sculpt: use dynamic scheduling and chunk size 1 for multithreading
This is under the assumptions that each node has enough work to avoid
the threading overhead, while also having a possible variable amount of
work. For example most of the vertices being masked or outside of the
brush radius.
Improves performance by about 10% for tools like mesh filter on an
entire 3 million poly mesh, tested on a quad core.
Ref T68873
===================================================================
M source/blender/blenkernel/intern/pbvh.c
===================================================================
diff --git a/source/blender/blenkernel/intern/pbvh.c b/source/blender/blenkernel/intern/pbvh.c
index 79586c71673..bfc513454b4 100644
--- a/source/blender/blenkernel/intern/pbvh.c
+++ b/source/blender/blenkernel/intern/pbvh.c
@@ -2550,7 +2550,9 @@ void BKE_pbvh_parallel_range_settings(TaskParallelSettings *settings,
bool use_threading,
int totnode)
{
- const int threaded_limit = 4;
+ const int threaded_limit = 1;
BLI_parallel_range_settings_defaults(settings);
settings->use_threading = use_threading && (totnode > threaded_limit);
+ settings->min_iter_per_thread = 1;
+ settings->scheduling_mode = TASK_SCHEDULING_DYNAMIC;
}
More information about the Bf-blender-cvs
mailing list