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/makesdna/DNA_sequence_types.h | |
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/makesdna/DNA_sequence_types.h')
-rw-r--r-- | source/blender/makesdna/DNA_sequence_types.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/source/blender/makesdna/DNA_sequence_types.h b/source/blender/makesdna/DNA_sequence_types.h index 7e0bf81457d..fe793875d67 100644 --- a/source/blender/makesdna/DNA_sequence_types.h +++ b/source/blender/makesdna/DNA_sequence_types.h @@ -45,6 +45,7 @@ struct MovieClip; struct Scene; struct VFont; struct bSound; +struct SequenceLookup; /* strlens; 256= FILE_MAXFILE, 768= FILE_MAXDIR */ @@ -257,6 +258,10 @@ typedef struct MetaStack { int disp_range[2]; } MetaStack; +typedef struct EditingRuntime { + struct SequenceLookup *sequence_lookup; +} EditingRuntime; + typedef struct Editing { /** Pointer to the current list of seq's being edited (can be within a meta strip). */ ListBase *seqbasep; @@ -287,6 +292,8 @@ typedef struct Editing { /* Must be initialized only by seq_cache_create() */ int64_t disk_cache_timestamp; + + EditingRuntime runtime; } Editing; /* ************* Effect Variable Structs ********* */ |