Blender Git Loki
Git Commits -> Revision 84d350f
Revision 84d350f by Sergey Sharybin (master) July 27, 2011, 12:53 (GMT) |
Camera tracking integration =========================== Attempt to switch moviecache to use CacheLimiter. Some changes in limiter were necessary: - Limiter counted mapped memory twice when was chacking how many memory is used. - It was using "global" memory usage not memory usage by cached elements. It will cause big problems when there's large mesh or plenty of undo steps are in memory nothing would be cached in sequencer. - To solve this problem introduced "callback" to measure cached element size. It could be not very accurate in general, but it works well for image buffers. And if this callback isn't set old-school memory usage check would be used. - The whole cache used to get freed when memory limit exceeded, now it'll drop only as much elements as necessary to reduce memory usage. Sequence cache wasn't switched to use moviecache but now it's really easy to do. When i'll be sure new caching scheme works fine. Now clip editor uses as much memory for cache as it's set in User Preferences (Preferences -> System -> Sequencer -> Memory Cache Limit) which si 128Mb by default. Please do not complain about few cached frames out-of-box and just increase limit there. Caching fixed amount of frames wasn't so nice indeed. |
Commit Details:
Full Hash: 84d350f4b5212b869aac4f89c4ef06aea9f47fa5
SVN Revision: 38755
Parent Commit: 2cefa33
Lines Changed: +147, -28
8 Modified Paths:
/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp (+6, -4) (Diff)
/intern/memutil/MEM_CacheLimiter.h (+35, -3) (Diff)
/intern/memutil/MEM_CacheLimiterC-Api.h (+5, -1) (Diff)
/source/blender/blenkernel/BKE_moviecache.h (+3, -0) (Diff)
/source/blender/blenkernel/intern/blender.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/moviecache.c (+94, -18) (Diff)
/source/blender/blenkernel/intern/seqcache.c (+1, -1) (Diff)
/source/blender/imbuf/intern/allocimbuf.c (+1, -1) (Diff)
/intern/memutil/MEM_CacheLimiter.h (+35, -3) (Diff)
/intern/memutil/MEM_CacheLimiterC-Api.h (+5, -1) (Diff)
/source/blender/blenkernel/BKE_moviecache.h (+3, -0) (Diff)
/source/blender/blenkernel/intern/blender.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/moviecache.c (+94, -18) (Diff)
/source/blender/blenkernel/intern/seqcache.c (+1, -1) (Diff)
/source/blender/imbuf/intern/allocimbuf.c (+1, -1) (Diff)