Page MenuHome

Fix adaptive sampling artifacts on tile boundaries
ClosedPublic

Authored by Sergey Sharybin (sergey) on Sep 22 2021, 3:44 PM.

Details

Summary

Implement an overscan support for tiles, so that adaptive sampling can
rely on the pixels neighbourhood.

Diff Detail

Repository
rB Blender

Event Timeline

Sergey Sharybin (sergey) requested review of this revision.Sep 22 2021, 3:44 PM
Sergey Sharybin (sergey) created this revision.
Brecht Van Lommel (brecht) requested changes to this revision.Sep 22 2021, 6:30 PM

Personally I think we should disable intermediate denoising of tiles. If you render without tiles, denoising also does not happen until the end. I don't think it's worth the performance cost.

intern/cycles/render/tile.cpp
381

I think this should be lower until there is really a need for it. I suggest using 4 instead.

This revision now requires changes to proceed.Sep 22 2021, 6:30 PM

Lower overscan to 4 pixels.

Personally I think we should disable intermediate denoising of tiles. If you render without tiles, denoising also does not happen until the end. I don't think it's worth the performance cost.

For the command line rendering I agree we should disable denoising of tiles.

For the rendering from the interface I am not so sure yet what's the right thing to do. It feels like it would be nice to treat F12 render similar to the viewport, so that artist can stop rendering once the denoised result feels good.

Perhaps its time to have a quick design session and figure out answers in this field :)

Brecht Van Lommel (brecht) requested changes to this revision.Sep 27 2021, 4:24 PM

This looks good now, however the patch needs to be updated after the bugfix in rBb314d3e7877f: Fix T91639: Cycles crash rendering high resolution images with multiple passes.

This revision now requires changes to proceed.Sep 27 2021, 4:24 PM

Rebased on top of latest master branch.

I've also disabled overscan with denoising, in the anticipation of D12662.
Had a second tough, and don't think we'll have enough time to design and implement the workflow I've described above. Until then lets prefer better render performance. Also noticed that 4 pixels overscan is not enough at a very low number of samples.

This revision is now accepted and ready to land.Sep 30 2021, 5:56 PM