Blender Git Loki
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)
/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)