Blender Git Commit Log

Git Commits -> Revision 0e8bfe1

Revision 0e8bfe1 by Sergey Sharybin (cycles-x)
July 6, 2021, 09:13 (GMT)
Cycles X: Reduce memory usage when denoising in multi-device render

The idea is to create a full big tile buffer on the actual device
which will be used for denoising. This avoids OptiX creating a yet
another copy of the render buffers on the actual device.

Mainly moving some lines around from DeviceDenoiser to Denoiser
to make logic more accessible by all denoisers, and in the path
tracer.

Assume allocation is cheaper than data transfer, so that some TODOs
are marked as done.

It's possible to reduce memory even further by allowing OIDN and
OptiX to modify the copy of the render buffers in-place, as it can
be thrown away. Considering this an independent further improvement
which is not tackled in this change.

Differential Revision: https://developer.blender.org/D11814

Commit Details:

Full Hash: 0e8bfe1f5969c0a1ee1aabcbe8a6ae8627ad971c
Parent Commit: 048a515
Lines Changed: +242, -277

9 Modified Paths:

/intern/cycles/integrator/denoiser.cpp (+139, -4) (Diff)
/intern/cycles/integrator/denoiser.h (+34, -17) (Diff)
/intern/cycles/integrator/denoiser_device.cpp (+9, -146) (Diff)
/intern/cycles/integrator/denoiser_device.h (+1, -34) (Diff)
/intern/cycles/integrator/denoiser_oidn.cpp (+39, -54) (Diff)
/intern/cycles/integrator/denoiser_oidn.h (+3, -7) (Diff)
/intern/cycles/integrator/denoiser_optix.cpp (+2, -2) (Diff)
/intern/cycles/integrator/denoiser_optix.h (+1, -1) (Diff)
/intern/cycles/integrator/path_trace.cpp (+14, -12) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021