[Bf-blender-cvs] [640c4ace0b0] master: Cycles: Disable tile-level denoising

Sergey Sharybin noreply at git.blender.org
Tue Sep 28 17:05:50 CEST 2021


Commit: 640c4ace0b0d9c7766ddfe5b658f966ba8bef3a5
Author: Sergey Sharybin
Date:   Tue Sep 28 11:49:53 2021 +0200
Branches: master
https://developer.blender.org/rB640c4ace0b0d9c7766ddfe5b658f966ba8bef3a5

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

===================================================================

M	intern/cycles/integrator/render_scheduler.cpp

===================================================================

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;



More information about the Bf-blender-cvs mailing list