diff options
author | Sergey Sharybin <sergey@blender.org> | 2021-09-28 12:49:53 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey@blender.org> | 2021-09-28 18:05:47 +0300 |
commit | 640c4ace0b0d9c7766ddfe5b658f966ba8bef3a5 (patch) | |
tree | e71b17c9ddc62bbfda6bf4001cbc773ef20b5d99 /intern/cycles/integrator | |
parent | ff7e67afd5de2d0ce6614ecfda9a70735a2479ba (diff) |
Cycles: Disable tile-level denoising
Only do denoising on the full-frame result. Saves render time.
Can re-consider in the future when/if we'll want to support
denoising during rendering (similar to viewport) to allow artists
to stop rendering when they see image to be good enough. Until
there is a design for that workflow stick to a more time efficient
rendering.
Differential Revision: https://developer.blender.org/D12662
Diffstat (limited to 'intern/cycles/integrator')
-rw-r--r-- | intern/cycles/integrator/render_scheduler.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/intern/cycles/integrator/render_scheduler.cpp b/intern/cycles/integrator/render_scheduler.cpp index 3e5b3417a6a..322d3d5f94c 100644 --- a/intern/cycles/integrator/render_scheduler.cpp +++ b/intern/cycles/integrator/render_scheduler.cpp @@ -384,7 +384,7 @@ bool RenderScheduler::set_postprocess_render_work(RenderWork *render_work) } if (denoiser_params_.use && !state_.last_work_tile_was_denoised) { - render_work->tile.denoise = true; + render_work->tile.denoise = !tile_manager_.has_multiple_tiles(); any_scheduled = true; } @@ -903,6 +903,12 @@ bool RenderScheduler::work_need_denoise(bool &delayed, bool &ready_to_display) return false; } + /* When multiple tiles are used the full frame will be denoised. + * Avoid per-tile denoising to save up render time. */ + if (tile_manager_.has_multiple_tiles()) { + return false; + } + if (done()) { /* Always denoise at the last sample. */ return true; |