diff options
author | Campbell Barton <ideasman42@gmail.com> | 2021-06-29 09:18:26 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2021-06-30 09:53:55 +0300 |
commit | 2d4ec90497443dc28e342c539e65010c7f4a04bb (patch) | |
tree | 62d29a8c932d8b94f43fddf818c581432fb287a2 /source/blender/editors/transform/transform_data.h | |
parent | 501d2443d03cce18985fab3ffad5d23238748f3e (diff) |
Transform: support multi-threading for most modes
Multi-threading support for transform modes: bevel-weight, crease,
push-pull, rotate, shear, shrink-fatten, skin-resize, to-sphere,
trackball & translate.
This is done using a parallel loop over transform data.
From testing a 1.5million polygon mesh on a 32 core system
the overall performance gains were between ~20-28%
To ensure the code is thread-safe arguments to shared data are const.
Reviewed By: mano-wii
Diffstat (limited to 'source/blender/editors/transform/transform_data.h')
-rw-r--r-- | source/blender/editors/transform/transform_data.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/source/blender/editors/transform/transform_data.h b/source/blender/editors/transform/transform_data.h index 59b76c2eec5..606453e356b 100644 --- a/source/blender/editors/transform/transform_data.h +++ b/source/blender/editors/transform/transform_data.h @@ -149,6 +149,8 @@ typedef struct TransData { short protectflag; } TransData; +#define TRANSDATA_THREAD_LIMIT 1024 + /** #TransData.flag */ enum { TD_SELECTED = 1 << 0, |