Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Antalik <richardantalik@gmail.com>2021-06-16 01:29:17 +0300
committerRichard Antalik <richardantalik@gmail.com>2021-06-16 01:29:17 +0300
commit1a5fa2b319e06ebbd2666987aa11240a371dcc09 (patch)
treefa19d3c2f8b603e302b063a600e78f16733b5c5d /source/blender/makesdna
parent143a81ccceaf7d3abccc5a9dd4bb3520813dd222 (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')
-rw-r--r--source/blender/makesdna/DNA_sequence_types.h7
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 ********* */