diff options
author | Sergey Sharybin <sergey@blender.org> | 2020-11-30 20:13:07 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2020-12-01 17:24:34 +0300 |
commit | 29401d38d113342d6fe5b5545742ad355f777439 (patch) | |
tree | 039434f8953d8f7ded7dd699a54432f9b302f022 /build_files | |
parent | 4c92fb671539bc936fab9177822c889ab372434d (diff) |
Tracking: Refactor autotrack tracking implementation
The idea is to avoid any synchronization needed in the worker threads
and make them to operate on a local data. From implementation detail
this is achieved by keeping track of "wavefront" of markers which are
to be tracked and the tracking result. Insertion of results to the
AutoTrack context happens from main thread, which avoids need in the
lock when accessing AutoTrack.
This change makes tracking of many (300+) about 10% faster on the
Xeon) CPU E5-2699 v4. More speedup will be gained by minimizing
threading overhead in the frame cache.
Another important aspect of this change is that it fixes non-thread
safe access which was often causing crashes. Quite surprising the
crash was never reported.
Diffstat (limited to 'build_files')
0 files changed, 0 insertions, 0 deletions