From e08180fdab8925328ed505333f6e5a721b18e0b4 Mon Sep 17 00:00:00 2001 From: Sergey Sharybin Date: Tue, 15 Mar 2022 15:45:09 +0100 Subject: 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! --- source/blender/blenkernel/BKE_tracking.h | 1 + 1 file changed, 1 insertion(+) (limited to 'source/blender/blenkernel/BKE_tracking.h') 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); -- cgit v1.2.3