= 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. -- With best regards, Sergey Sharybin _______________________________________________ Bf-committers mailing list [email protected] https://lists.blender.org/mailman/listinfo/bf-committers
