Blender Git Loki
Git Commits -> Revision e8a6157
Revision e8a6157 by Sergey Sharybin (cycles-x) April 15, 2021, 10:54 (GMT) |
Cycles: Implement early stopping for adaptive sampling Stop scheduling path tracing jobs one all pixels did converge. Since the convergence check is done for the entire big tile it is not that visible with regular noise level settings and number of samples. However, still feels like this is proper thing to do, especially for the idea of gradually decreasing error threshold for the viewport rendering. For the GPU there is a single int memory allocated for every invocation of convergence check kernel. Not sure if it gives any measurable difference and whether we'd better avoid such tiny allocations. |
Commit Details:
Full Hash: e8a6157657049d90d2d1a5d918c2dd2620599a34
Parent Commit: 3dcb501
Lines Changed: +122, -44
13 Modified Paths:
/intern/cycles/device/cpu/kernel.h (+3, -3) (Diff)
/intern/cycles/integrator/path_trace.cpp (+10, -3) (Diff)
/intern/cycles/integrator/path_trace.h (+2, -2) (Diff)
/intern/cycles/integrator/path_trace_work.h (+3, -1) (Diff)
/intern/cycles/integrator/path_trace_work_cpu.cpp (+17, -11) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.cpp (+17, -4) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.h (+1, -1) (Diff)
/intern/cycles/integrator/render_scheduler.cpp (+26, -1) (Diff)
/intern/cycles/integrator/render_scheduler.h (+7, -1) (Diff)
/intern/cycles/kernel/device/cpu/kernel_arch.h (+3, -3) (Diff)
/intern/cycles/kernel/device/cpu/kernel_arch_impl.h (+8, -8) (Diff)
/intern/cycles/kernel/device/cuda/kernel.cu (+20, -4) (Diff)
/intern/cycles/kernel/kernel_adaptive_sampling.h (+5, -2) (Diff)
/intern/cycles/integrator/path_trace.cpp (+10, -3) (Diff)
/intern/cycles/integrator/path_trace.h (+2, -2) (Diff)
/intern/cycles/integrator/path_trace_work.h (+3, -1) (Diff)
/intern/cycles/integrator/path_trace_work_cpu.cpp (+17, -11) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.cpp (+17, -4) (Diff)
/intern/cycles/integrator/path_trace_work_gpu.h (+1, -1) (Diff)
/intern/cycles/integrator/render_scheduler.cpp (+26, -1) (Diff)
/intern/cycles/integrator/render_scheduler.h (+7, -1) (Diff)
/intern/cycles/kernel/device/cpu/kernel_arch.h (+3, -3) (Diff)
/intern/cycles/kernel/device/cpu/kernel_arch_impl.h (+8, -8) (Diff)
/intern/cycles/kernel/device/cuda/kernel.cu (+20, -4) (Diff)
/intern/cycles/kernel/kernel_adaptive_sampling.h (+5, -2) (Diff)