diff options
author | Sergey Sharybin <sergey@blender.org> | 2022-03-15 17:45:09 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2022-03-15 17:50:40 +0300 |
commit | e08180fdab8925328ed505333f6e5a721b18e0b4 (patch) | |
tree | cdd34dca3ae3af8b281db6bea4fefc3d5d588756 /source/blender/blenkernel/BKE_tracking.h | |
parent | 2156841c8ca8e754e073ceb14912c7529af891bf (diff) |
Fix slow tracking of long sequences
The performance issue was noticeable when tracking a lot of tracks
which are using keyframe pattern matching. What was happening is that
at some cache gets filled in and the furthest away frame gets removed
from the cache: the frame at marker's keyframe gets removed and needs
to be re-read from disk on the next tracking step.
This change makes it so frames at markers' keyframes are not removed
from cache during tracking.
Steps to easily reproduce:
- Set cache size to 512 Mb.
- Open image sequence in clip editor
- Detect features
- Track all markers
Originally was reported by Rik, thanks!
Diffstat (limited to 'source/blender/blenkernel/BKE_tracking.h')
-rw-r--r-- | source/blender/blenkernel/BKE_tracking.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/source/blender/blenkernel/BKE_tracking.h b/source/blender/blenkernel/BKE_tracking.h index 8cac196accc..29eb180a2ab 100644 --- a/source/blender/blenkernel/BKE_tracking.h +++ b/source/blender/blenkernel/BKE_tracking.h @@ -510,6 +510,7 @@ void BKE_tracking_refine_marker(struct MovieClip *clip, struct AutoTrackContext *BKE_autotrack_context_new(struct MovieClip *clip, struct MovieClipUser *user, bool is_backwards); +void BKE_autotrack_context_start(struct AutoTrackContext *context); bool BKE_autotrack_context_step(struct AutoTrackContext *context); void BKE_autotrack_context_sync(struct AutoTrackContext *context); void BKE_autotrack_context_sync_user(struct AutoTrackContext *context, struct MovieClipUser *user); |