e206a0ae960c2c62df6ece863bf855dda581d4f1
When a node is executed, it usually schedules other nodes. Right now, those newly scheduled nodes are added to a task pool so that another thread can start working on them immediatly. However, that leads to the situation where sometimes each node in a simple chain is executed by another thread. That leads to additional threading overhead and reduced cache efficiency (for caches that are not shared between cores). Now, when a node is executed and schedules other nodes, the first of those newly scheduled nodes will always be executed on the same thread once the current node is done. If it schedules more than one other node, those will be added to the task pool as before. The speedup achieved by this is hard to measure. I found it to be a couple percent faster in some extreme cases, not much to get excited about. It's nice though that the number of tasks added to the task pool is commonly reduced by a factor of 4 or 5.
…
.. Keep this document short & concise, linking to external resources instead of including content in-line. See 'release/text/readme.html' for the end user read-me. Blender ======= Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing. .. figure:: https://code.blender.org/wp-content/uploads/2018/12/springrg.jpg :scale: 50 % :align: center Project Pages ------------- - `Main Website <http://www.blender.org>`__ - `Reference Manual <https://docs.blender.org/manual/en/latest/index.html>`__ - `User Community <https://www.blender.org/community/>`__ Development ----------- - `Build Instructions <https://wiki.blender.org/wiki/Building_Blender>`__ - `Code Review & Bug Tracker <https://developer.blender.org>`__ - `Developer Forum <https://devtalk.blender.org>`__ - `Developer Documentation <https://wiki.blender.org>`__ License ------- Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license. See `blender.org/about/license <https://www.blender.org/about/license>`__ for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%