[Bf-committers] Blender 2.78b Performance Update release

Bastien Montagne montagne29 at wanadoo.fr
Mon Jan 23 14:44:29 CET 2017

I would be tempted to add some data-block management fixes, but issue 
here is that it’s either all of them, or none - and I’m far from being 
able to guarantee their safety.

So guess this will be None for this 2.78b, let's hope we get a bit 
better testing for 2.79 (since studio is using master a lot, I’d expect 
this to be OK this time ;) ). That’d be all from me.

Le 20/01/2017 à 15:45, Sergey Sharybin a écrit :
> = Blender 2.78b Performance Update =
> I would like to propose to make a 2.78b release which will mainly include
> all
> the performance improvements we did in the past months.
> == Why do we need such a release? ==
> Fair enough question is why do we make such a release. The answer here is
> that
> we've been working hard on getting various things optimized in Blender. Some
> work was done in collaboration with other developers from various companies
> and
> studio and they will be more than happy to see this release. Will keep them
> motivated to stay around as well!
> Since the upcoming 2.79 release will take at least 2 months to release
> since now
> it's easier and faster just to cherry-pick all the performance commits from
> master branch on top blender-2.78-release branch.
> == Current status ==
> I've already went ahead and cherry-picked performance improving commits
> related
> to Cycles and Dependency graph. If be more accurate, this ended up in
> porting
> all the commits from master to the branch, since they are either a refactor
> commit which were required for upcoming work or they are actual performance
> update commits.
> All the commits were pushed to blender-2.78b-release.
> Here are the main changes (please note, the list is not really final and
> that i
> might be missing something. the list might also be extended with the commits
> done after it was gathered).
> === Dependency graph ===
> * Solve various race conditions (conflicts between threads which are
> working on
>    the same data).
> * Optimization of dependency graph construction time.
> * Fix missing or wrong relation links, which were causing hard-to-reproduce
>    bone flickering.
> * Fix various crashes related on linked data blocks.
> * Fixes for missing animation updates.
> === Cycles ===
> * Multithreaded shader compilation.
> * Various optimizations for emission meshes.
> * Corrected light sampling for Branched Path Tracing, should reduce noise.
> * Improvements in constant folding algorithm.
> * Improvements to some procedural textures (brick)
> * Early light ray termination based on contribution of light to the result.
> * Fix for background MIS with textures having small bright spots.
> * Different seed for subframes and different stereo views.
> * Distance culling for objects.
> * Fix for undesirable threads affinity change on Windows.
> * Avoid various numerical issues in the kernel, solving fireflies.
> * Fixes for deformation motion blur combined with autosplit.
> * Better reomained time estimation.
> * Various optimizations for deformation motion blur.
> ==== Cycles: GPU ====
> * Use XDG folder for cache on Linux and OSX, which avoids having per-Blender
>    version folder with all the OpenCL/CUDA kernels built.
> * Ability to enable/disable individual GPUs as opposite to old behavior with
>    pre-defined combinations only. Not only this helps to some artists, but
> also
>    makes it possible to have flexible benchmark scripting.
> ==== Cycles: CPU ====
> * Use more global SSE optimizations for SSE4.1+ kernels.
> * Multiple improvements for the latest AVX2 CPUS:
> ** Optimized various math utilities for this micro-architecture.
> ** Faster version of triangle intersection function.
> ** Optimization of various steps in BVH traversal algorithm
> ==== Cycles: OpenCL ====
> * Added 3D textures support for OpenCL
> * Make it conditional to compile-in transparent shadows support.
>    Depending on a scene and hardware gives really major render
>    time improvements.
> == Other Areas ==
> Didn't look into other areas, but if one feels like adding some really
> crucial
> fixes or other performance improvement commits please let me know!
> Or if you otherwise found something in the branch which should not be
> in the final release please also let me know.

More information about the Bf-committers mailing list