Blender Git Loki
Git Commits -> Revision 9df2499
Revision 9df2499 by Sergey Sharybin (master) December 2, 2013, 11:14 (GMT) |
Fix T37656: Huge amount of RAM used during start when rendering large images Issue was caused by linear float buffer creating for every working thread. This buffer actually duplicated original buffer which doubles amount of required memory. We can not avoid such a duplication, because OCIO needs to work on a float buffer and it modifies this buffer. Alternative for now is to not allocate linear buffer for the whole chunk which needs to be handled by the thread and use further chunk cutting in thread itself. So now every thread will handle the chunk in blocks of 64 scanlines. This reduces memory overhead significantly without speed loss in own tests. Ideally, IMB_processor_apply_threaded need to be switched to generic task scheduler and made it so this function generates tasks with reasonable number of scanlines. This requires much more testing to be sure there're no conflicts with object update and so. Such a change to IMB_processor_apply_threaded would not be noticed by users, so do not consider this is a crucial to do right now. |
Commit Details:
Full Hash: 9df2499531f95f8f50e2ac508eb85c76fd1fa446
Parent Commit: dce05f6
Lines Changed: +59, -44
1 Modified Path:
/source/blender/imbuf/intern/colormanagement.c (+59, -44) (Diff)