Blender 3.0: Cycles
GPU kernels and scheduling have been rewritten for better performance, with rendering often between 2-7x faster in real-world scenes.
NVIDIA CUDA & OptiX
- NVIDIA drivers must be version 470 or newer.
- Rendering of hair as 3D curves (instead of ribbons) is significantly faster, by using the native OptiX curve support
- OptiX kernel compilation time was significantly reduced.
- Baking now supports hardware ray-tracing with OptiX.
OpenCL rendering support was removed. The combination of the limited Cycles kernel implementation, driver bugs, and stalled OpenCL standard has made maintenance too difficult. We are working with hardware vendors to bring back GPU rendering support on AMD and Intel GPUs, using others APIs.
Viewport rendering is significantly more responsive due to new scheduling and display algorithms.
The recommended workflow is now to set a noise threshold (instead of number of samples), and let Cycles adaptively refine the image until the denoiser can eliminate the remaining noise. The default sampling settings and user interface are geared towards this workflow, though it is not required.
- Redesigned sampling user interface and default settings.
- Improved adaptive sampling. Noise threshold behavior changed, it needs to be manually tweaked to get comparable results to older versions.
- Time-based rendering limit.
- Separate presets for viewport and render sampling.
- OpenImageDenoise was upgraded to version 1.4, with improved detail preservation. A new prefilter option was added to control the denoising of auxiliary albedo and normal passes. (c5e5ac4c5e)
- Auxiliary albedo and normal passes for volumes were improved, to better preserve volume detail and reduce low frequency noise. (d18a3b7d18)
Tiles & Memory Usage
Now the render is now progressively refined by default, giving a quicker preview of full render. However when rendering high resolution images with many render passes, memory usage can be significant. For this reason high resolution renders are automatically split into large tiles, and each tile is cached to disk as it is completed.
Previously tweaking tile size was important for maximizing CPU and GPU performance. Now this is mostly automated. There are still two situations where reducing tile size from the default can be helpful:
- When there is not enough memory to fit both the scene and render result, reducing tile size makes more memory available for the scene.
- When a small object renders very slowly compared to other objects (for example transparent hair), rendering with smaller tiles can help keep the GPU busy.
The shadow catcher was rewritten. New features include:
- Indirect and environment light support, for more accurate compositing
- Option for lights to be considered included or excluded, that is if they are real or synthetic objects
- Separate shadow catcher render pass that includes colors instead of an alpha channel
New Geometry Offset option to reduce shadow terminator artifacts. Offset rays from the flat surface to match where they would be for a smooth surface as specified by the normals. (9c6a3829c6)
Works as follows:
- 0: disabled
- 0.001: only terminated triangles (normal points to the light, geometry doesn't) are affected
- 0.1 (default): triangles at grazing angles are affected, and the effect fades out
- 1: all triangles are affected
Generally, using one or a few levels of subdivision can get rid of artifacts faster than before.
- Light option to be visible to camera rays
- New Position render pass
- Volume sampling quality is now the same for CPU and GPU rendering
- Subsurface scattering anisotropy and index of refraction support for Random Walk. Realistic skin has an anisotropy around 0.8. (7811c11781)
- Baking support for denoising and adaptive sampling
- Light clamping was modified to be more fine grained, preserving more non-noisy light.
- Open Shading Language metadata support for UI labels and checkboxes, following the specification. (e6bbbd9e6b)
[[ string label = "UI Label" ]] [[ string widget = "checkBox" ]] [[ string widget = "boolean" ]]
Removed Features and Compatibility
- Branched path tracing was removed. We recommend using adaptive sampling to automatically allocate more samples where needed.
- Cubic and Gaussian subsurface scattering. The physically based Random Walk and Christensen-Burley methods remain.
- Additive Ambient Occlusion in the world was removed, use Fast GI options instead.
- The CMJ sampling pattern was removed. Only Sobol and PMJ remain.
- The NLM denoiser was removed. We recommend using OpenImageDenoise instead for final frames.