diff options
author | Brecht Van Lommel <brecht@blender.org> | 2022-04-29 17:26:51 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-05-04 00:08:29 +0300 |
commit | 5b2a6b6ebb7fb6116e6094eba4e9ae931d1a8934 (patch) | |
tree | e421a5b8fb35b6099c1070d8bf4473c767d26b73 /source/blender/imbuf | |
parent | 281bcc1c1dd6b786bafa2712986885c44ed482a3 (diff) |
Fix T96880: viewport render animation hangs Blender
Isolate frame writing task so that multithreaded image operations don't cause
the thread to start writing another frame. If that happens we may reach the
MAX_SCHEDULED_FRAMES limit, and cause the render thread and writing threads to
deadlock waiting for each other.
Additionally, don't set task priority to low because this may cause the task
scheduler to be slow in scheduling the write and color management tasks.
Diffstat (limited to 'source/blender/imbuf')
-rw-r--r-- | source/blender/imbuf/intern/imageprocess.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/source/blender/imbuf/intern/imageprocess.c b/source/blender/imbuf/intern/imageprocess.c index 02a0c0189e0..ec25b67af5f 100644 --- a/source/blender/imbuf/intern/imageprocess.c +++ b/source/blender/imbuf/intern/imageprocess.c @@ -368,7 +368,7 @@ void IMB_processor_apply_threaded( int total_tasks = (buffer_lines + lines_per_task - 1) / lines_per_task; int i, start_line; - task_pool = BLI_task_pool_create(do_thread, TASK_PRIORITY_LOW); + task_pool = BLI_task_pool_create(do_thread, TASK_PRIORITY_HIGH); handles = MEM_callocN(handle_size * total_tasks, "processor apply threaded handles"); |