Blender Git Commit Log
Git Commits -> Revision 29401d3
Revision 29401d3 by Sergey Sharybin (master) December 1, 2020, 14:24 (GMT) |
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. |
Commit Details:
Full Hash: 29401d38d113342d6fe5b5545742ad355f777439
Parent Commit: 4c92fb6
Lines Changed: +493, -251
1 Modified Path:
/source/blender/blenkernel/intern/tracking_auto.c (+493, -251) (Diff)