7
$\begingroup$

The feature "Adaptive Sampling" allows the Cycles renderer to automatically calculate the samples need per pixel by analyzing the noise level. Next to the option to enable it, there is a small dropdown. When opened it gives some additional settings for the feature.

They are "Noise Threshhold" and "Min Samples". The value I am curious about is the "Noise Threshold" value. This tells the renderer to stop sampling when the noise level is at this value. If set to 0 this is automatically calculated. This seems to have the render make sure that there is zero noise inside the result. However, we do not need zero noise because of the somewhat new AI denoiser (the intel one).

Is there an optimal value for this noise threshold? It should allow as much noise as possible but still have it able to be cleaned up by the denoiser with no artifacts remaining.

$\endgroup$
0
6
+50
$\begingroup$

"Optimal value" is quite a subjective measure and depends on available render time compared to desired quality - so it's not possible to generalise to one specific "optimal" value. The impact will also vary based on your particular scene and lighting conditions.

For each 'tile' rendered in the final result, Blender determines the 'noise' for each sample over the whole tile - with the noise being measured by comparing each render result with that of the pixel it is being merged into. As the tile converges towards its 'ideal' (infinite samples) pixels the difference between the newly rendered "passes" and the current rendered result (the combination of all the previous "passes") will reduce. The Noise Threshold determines how close the difference should be before this tile is considered 'complete'. The noise will depend on the amount of illumination and bright/dark sharp edges as well as reflections and caustics, etc.

The "optimal" setting is subjective as well as the render overhead giving diminishing returns (doubling the samples will typically half the noise - so to get rid of all noise requires a very large number of samples). The best option is to render a scene at various thresholds and compare the result with the render time, picking the level with most appropriate render time to quality ratio.

NOTE: The adaptive rendering will only make use of the maximum number of samples you are rendering your scene with. Therefore, ensure your total Samples is sufficiently high to allow the adaptive sampling to get the noise level low enough to produce the desired quality for a 'full' render.

In order to determine an optimal value for your scene you could follow the following process :

  1. Increase the total number of render samples to a suitably high value (the 'best' quality you desire for your render)
  2. Set Threshold to a suitably high number so that each tile is effectively only rendered once. eg, 1.0000.
  3. Render the scene and record the time taken.
  4. Reduce the threshold to a significantly new value - eg, 0.1000.
  5. Render the scene and record the time taken.
  6. Compare the result and time taken.
  7. Repeat until you see suitably high quality results. eg, at 0.001
  8. Try increasing slightly again (eg, 0.0025) to compare the time saving with additional samples until you hit upon the 'sweet spot' for your situation.

Bear in mind that like the Denoiser, Adaptive Sampling is not a 'magic bullet'. It requires some tweaking to get the best results and will always be a trade-off between render times and final render quality - which will depend on your scene and your needs and priorities.

$\endgroup$
1
  • 3
    $\begingroup$ ... and all those things are keyable.. so you could run your test strip overnight, with the render-times burned into the frames.. $\endgroup$ Aug 26 '20 at 8:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.