Dev:Ref/Release Notes/2.77/More Features
目次
- 1 Better Threading Handling
- 2 Compositing
- 3 Image Editor
- 4 Various
- 5 OpenVDB caching
- 6 Vector Transform node support for Viewport and BI
- 7 Cubemap world textures in BI viewport
- 8 Cubemap reflections in the viewport and in the game engine
- 9 Rectangle and Ellipse shapes for spotlights
- 10 Text objects native clipboard integration
Better Threading Handling
Blender is now massively multi-threaded (that is, on multi-core CPUs, it can execute several tasks in parallel), its renders of course (since a loooong time ago), but also more recently its depsgraph and many other tasks.
This is raising an issue - having 8 to 16 threads running on an 8-core CPU is good, having 80 or more is bad, basically because all those threads will waste a lot of time waiting for the right to use a CPU core, and because thread managing and context switching costs a fair amount of CPU time…
Main cause of that exploding number of threads is the usage of OpenMP, which is a library that makes it really easy to parallelize the execution of small chunks of code. So a (long-run, non-urgent) task was decided, to replace those OMP usages by proper calls to our own multi-threading code, which ensures we never get too much threads running.
So far, here are the tools/area of Blender which have been updated:
- Modifiers:
- Ocean (~22% speedup), rBb36a0c44bb1ca and rB1eed354e530f3.
- UVWarp (~12% speedup), rB4d5b7feddea1.
- Vertex Weight Proximity (~5% speedup), rB95bc8389a983.
- Paint/Sculpt (WIP):
- All of sculpt/paint code, speedup is heavily variable, from unnoticeable to above 20% in best cases (global stroke processing), and some post-processing also had some speedup (like normals update, which is now 20% quicker). rB1991ee173865, rB2e77c413ab3cd, rB0b157f7c6cf3b, rBa5c419f4ccb, rB6703d413f9b3, rBb871160dd, etc.
- Misc:
- Smoke simulation (~5% speedup), rBf30b0c60cffc.
- Particle internal code, rBc1b76285eef7a).
- Some low-level 'library' code, gives e.g. ~2% speedup to Cloth simulations (but affects several other parts of Blender), rBd08e9883bdfc, rB971f9e1c25dae.
Compositing
- Add Invert option to the 2D stabilization node (ea67f55)
- Use mask name as mask node label (f1555c8)
- Expose track velocity as an output of Track Position node (speed is measured in pixels per frame) (2339a84)
- Add option to extend image bounds when blurring (cc55f97)
Image Editor
- Make it possible to visualize individual R,G and B channels (43bf78c)
Various
- Fix and re-enable 'redirection' to translated manual when using translated UI (rBA9a875bfb2693)
- Add object mode select more/less de79d04 (3097119)
- Support for copy/paste the groups of objects (90250f8)
- Transform: Support storing virtual cursor location.
Grabbing now doesn’t ‘jump’ when shift is released (matching rotation modes) (e6abc3a). - Blender Internal: subframe render support 63de1e7
OpenVDB caching
Smoke simulations can now be cached using OpenVDB as a back-end (rBe9452f909cdb). The simulation fields can be found in the .vdb files under the following names:
- "color"
- "density"
- "heat"
- "heat old" (the temperate at the previous fame)
- "flame"
- "fuel"
- "react" (reaction coordinates, used for fire)
- "velocity"
- "shadow" (the shadows of the volume computed for viewport rendering)
- "texture coordinates" (used for turbulence)
Notes:
- The presence of a given field depends on the simulation settings, e.g. "texture coordinates" is only written if high resolution is enabled
- If high resolution is enabled, the corresponding low resolution fields are suffixed with " low".
Vector Transform node support for Viewport and BI
Cubemap world textures in BI viewport
Cubemap world textures are now supported in the Blender Internal engine viewport. (rB771f73b6bedb)
Notes:
- The image type has to be Environment Map
- The environment texture format is the format of the environment textures created via Blender
- 'World Background' Display option turned on
- 'Horizon' influence of texture turned on
Cubemap reflections in the viewport and in the game engine
Cubemap reflections are now supported in the viewport and in the game engine. (d80f8ba)
Notes:
- The image type has to be Environment Map
- The mapping coordinates have to be set to "Reflection"
- The environment texture format is the format of the environment textures created via Blender
- Geometry options are not available for environment textures, but the reflection can be deformed by a normal map texture
- The reflection deformations depend on the textures stack order (the normal map has to be in a slot < environment texture slot)
Rectangle and Ellipse shapes for spotlights
The spotlights can now be scaled on one or several axis. This works both for elliptical and rectangular spotlights. The current python API to scale objects can be used. (e60d535)
Text objects native clipboard integration
The text objects copy/paste functionality is integrated with the system clipboard. When pasting text, the style (bold, material, ...) is maintained, if it was originally copied from Blender. (a143aeae)