Dev:Ref/Release Notes/2.75/Cycles

From Blender Developer Wiki
Jump to: navigation, search

Blender 2.75: Cycles

Cycles improvements include: Long awaited (initial) support for rendering with AMD GPUs, a new Light Portals feature, a new built-in way for animated Seed, lot's of performance and memory optimizations, ...

Support for AMD GPUs

The OpenCL Cycles kernel has been split into smaller parts, improving performance and stability. (7f4479da425b)

Therefore, AMD GPUs can now be used to render with Cycles. Please check the GPU Rendering docs for more information about required hardware and supported features.

Currently only Windows and Linux are officially supported. On OSX there are still issues, which appear from the OpenCL compiler side and we can not work around yet from Blender.

For hardware which is not officially supported, it's possible to test split kernel work by setting the `CYCLES_OPENCL_SPLIT_KERNEL_TEST` environment variable to 1. It'll make all the OpenCL devices appear in User Preferences and will make sure split kernel is used on them.


Area lamps can function as light portals now and help to sample the environment light, therefore improving convergence. Light portals help guide rays towards the environment light sources in interior scenes. It's like guiding rays towards openings in the scene, like for example windows. You can enable the Portal option in the lamp settings. Note: Rendering with Portals is usually slower, but as it converges more quickly, less samples are required. Every portal adds a render time penalty so use as few as possible. (f478c2c)

File:Cycles 275 portals.jpg
White Room scene without and with portals.
File:Cycles 275 portals2.jpg
Bedroom without and with portals.

Memory Optimizations

Scene preparation / Rendering

  • Free caches used by the synchronized objects (10e18a5)
  • Free polygons after tessellation in order to reduce peak memory usage (2ef2f08)
  • Free unused images when rendering with locked interface (74df307)
  • Reduce peak memory usage of scene synchronization by passing data ownership when converting derived mesh to mesh (a1a7317)
  • Synchronize images after building BVH, reducing peak memory usage in production files (cd44449)
  • Avoid sloppy memory usage by BVH leaf nodes by splitting BVH nodes storage into inner and leaf nodes (828abaf)


  • The memory footprint was considerably reduced when baking more than one object. The Baking-API changed to accommodate that (394c5318)

Performance Optimizations


  • World MIS table building is now multi threaded, reducing scene startup/update time. (rBcdb47b9dfc2d)
  • Skip consecutive empty steps in Volume Decoupled Ray Marching code. (rB064fa4baaedc)
  • Make material preview rendering more responsive for complex shaders (b5f58c1, d0aae79)
  • Remove Emission shaders from the graph if color or strength is 0. (67eb2c789718)
  • Use curve approximation for blackbody instead of lookup table (rB7201f6d14c01)
<youtube width="320" height="180">u4dwZCj7RNY</youtube>


  • Record all possible volume intersections for SSS and camera checks (b3def11f5b75)
  • Use native float->half conversion instructions for Haswell CPUs (2ec221aa281d)


  • Speedup CMJ on GPU, makes it almost same speed as Sobol pattern (61eab74)
  • Optimize Beckmann slope sampling on GPU (b06962f)
  • Optimize clamp(x, 0, 1) into a single instruction (ae7d84dbc193)


  • Panorama camera: Mirror ball is now available as projection. (60c5a2f2d21d)
  • Make animated seed a built-in feature. (7c06190882a1)