diff options
author | Jeroen Bakker <jbakker> | 2022-02-11 16:53:08 +0300 |
---|---|---|
committer | Jeroen Bakker <jeroen@blender.org> | 2022-02-11 16:53:33 +0300 |
commit | a71a513def202b119328035dbd68e86c2c47f7ac (patch) | |
tree | 86ed98ed6daf1eab20cad11348eafa65fa2daaa9 /source/blender/blenkernel/BKE_lib_id.h | |
parent | 811cbb6c0a426243d957fa00f7ddec15b1d4ae62 (diff) |
Remap multiple items in referenced data.
This patch increases the performance when remapping data.
{D13615} introduced a mechanism to remap multiple items in a single go.
This patch uses the same mechanism when remapping data inside ID datablocks.
Benchmark results when loading the village scene of sprite fright on AMD Ryzen 7 3800X 8-Core Processor
Before this patch 115 seconds
When patch applied less than 43 seconds
There is still some room for improvement by porting relink code.
Reviewed By: mont29
Maniphest Tasks: T95279
Differential Revision: https://developer.blender.org/D14043
Diffstat (limited to 'source/blender/blenkernel/BKE_lib_id.h')
-rw-r--r-- | source/blender/blenkernel/BKE_lib_id.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_lib_id.h b/source/blender/blenkernel/BKE_lib_id.h index c4aa44706d5..c56cb616a9a 100644 --- a/source/blender/blenkernel/BKE_lib_id.h +++ b/source/blender/blenkernel/BKE_lib_id.h @@ -69,6 +69,11 @@ void *BKE_libblock_alloc(struct Main *bmain, short type, const char *name, int f */ void BKE_libblock_init_empty(struct ID *id) ATTR_NONNULL(1); +/** + * Reset the runtime counters used by ID remapping. + */ +void BKE_libblock_runtime_reset_remapping_status(struct ID *id) ATTR_NONNULL(1); + /* *** ID's session_uuid management. *** */ /** |