MovieCache implementation
authorSergey Sharybin <sergey.vfx@gmail.com>
Mon, 24 Oct 2011 17:12:28 +0000 (17:12 +0000)
committerSergey Sharybin <sergey.vfx@gmail.com>
Mon, 24 Oct 2011 17:12:28 +0000 (17:12 +0000)
commit3cbadbf895f4775290d626bed00e97f997b8a962
tree6c7bf02b67120dd96074e0d80e137481b2c30d1c
parent8afc509be42c6422b1600d9dab133a8d5b025aad
MovieCache implementation

Implementation of cache for general movie-related areas
such as sequencer and clip editor (in the future)

Some changes in limiter were necessary:
- Limiter counted mapped memory twice when was checking 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.

Seqcache is switched to use this new cache code.
source/blender/imbuf/CMakeLists.txt
source/blender/imbuf/intern/allocimbuf.c