diff options
author | Richard Antalik <richardantalik@gmail.com> | 2021-06-16 01:29:17 +0300 |
---|---|---|
committer | Richard Antalik <richardantalik@gmail.com> | 2021-06-16 01:29:17 +0300 |
commit | 1a5fa2b319e06ebbd2666987aa11240a371dcc09 (patch) | |
tree | fa19d3c2f8b603e302b063a600e78f16733b5c5d /source/blender/sequencer/intern/sequencer.c | |
parent | 143a81ccceaf7d3abccc5a9dd4bb3520813dd222 (diff) |
VSE: Improve animation evaluation performance
Use lookup string callback function for `sequences_all` RNA property
`rna_SequenceEditor_sequences_all_lookup_string` using a GHash for faster lookups.
When names are changed or strips are added/removed the lookup is tagged invalid.
The next time the lookup is used it will rebuild it.
Reviewed By: sergey, jbakker
Differential Revision: https://developer.blender.org/D11544
Diffstat (limited to 'source/blender/sequencer/intern/sequencer.c')
-rw-r--r-- | source/blender/sequencer/intern/sequencer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/sequencer/intern/sequencer.c b/source/blender/sequencer/intern/sequencer.c index d0bc41062a1..8cd67195c30 100644 --- a/source/blender/sequencer/intern/sequencer.c +++ b/source/blender/sequencer/intern/sequencer.c @@ -271,6 +271,7 @@ void SEQ_editing_free(Scene *scene, const bool do_id_user) SEQ_ALL_END; BLI_freelistN(&ed->metastack); + SEQ_sequence_lookup_free(scene); MEM_freeN(ed); scene->ed = NULL; @@ -514,7 +515,7 @@ static Sequence *seq_dupli(const Scene *scene_src, if (scene_src == scene_dst) { if (dupe_flag & SEQ_DUPE_UNIQUE_NAME) { - SEQ_sequence_base_unique_name_recursive(&scene_dst->ed->seqbase, seqn); + SEQ_sequence_base_unique_name_recursive(scene_dst, &scene_dst->ed->seqbase, seqn); } } |