|
Blender V4.3
|
Public Attributes | |
| Main * | bmain |
| GHash * | hash |
| ThreadMutex | iterator_mutex |
| BLI_mempool * | keys_pool |
| BLI_mempool * | items_pool |
| SeqCacheKey * | last_key |
| SeqDiskCache * | disk_cache |
Function: All images created during rendering are added to cache, even if the cache is already full. This is because:
If the cache is full all entries for pending frame will have is_temp_cache set.
Linking: We use links to reduce number of iterations over entries needed to manage cache. Entries are linked in order as they are put into cache. Only permanent (is_temp_cache = 0) cache entries are linked. Putting SEQ_CACHE_STORE_FINAL_OUT will reset linking
Only entire frame can be freed to release resources for new entries (recycling). Once again, this is to reduce number of iterations, but also more controllable than removing entries one by one in reverse order to their creation.
User can exclude caching of some images. Such entries will have is_temp_cache set.
Definition at line 64 of file image_cache.cc.
| Main* SeqCache::bmain |
Definition at line 65 of file image_cache.cc.
Referenced by seq_cache_cleanup_sequence(), and seq_cache_create().
| SeqDiskCache* SeqCache::disk_cache |
Definition at line 71 of file image_cache.cc.
Referenced by seq_cache_cleanup_sequence(), seq_cache_destruct(), seq_cache_get(), and seq_cache_put().
| GHash* SeqCache::hash |
Definition at line 66 of file image_cache.cc.
Referenced by SEQ_cache_cleanup(), seq_cache_cleanup_sequence(), seq_cache_create(), seq_cache_destruct(), seq_cache_free_temp_cache(), seq_cache_get_ex(), seq_cache_get_item_for_removal(), SEQ_cache_iterate(), seq_cache_put_ex(), and seq_cache_recycle_linked().
| BLI_mempool* SeqCache::items_pool |
Definition at line 69 of file image_cache.cc.
Referenced by seq_cache_create(), seq_cache_destruct(), seq_cache_put_ex(), and seq_cache_valfree().
| ThreadMutex SeqCache::iterator_mutex |
Definition at line 67 of file image_cache.cc.
Referenced by seq_cache_create(), seq_cache_destruct(), seq_cache_lock(), and seq_cache_unlock().
| BLI_mempool* SeqCache::keys_pool |
Definition at line 68 of file image_cache.cc.
Referenced by seq_cache_allocate_key(), seq_cache_create(), seq_cache_destruct(), and seq_cache_keyfree().
| SeqCacheKey* SeqCache::last_key |
Definition at line 70 of file image_cache.cc.
Referenced by SEQ_cache_cleanup(), seq_cache_cleanup_sequence(), seq_cache_create(), seq_cache_free_temp_cache(), SEQ_cache_iterate(), seq_cache_put_ex(), and seq_cache_recycle_linked().