forked from blender/blender
The official Blender project repository.
Hans Goudey
c168ef9809
Currently, before and during brush evaluation on large meshes, a significant amount of time is spent pushing and searching for undo nodes. Because the undo node storage must be protected by a lock, this means the CPU ends up spending a large portion of the total time just waiting for other threads to release the lock while they search for the correct undo node. Finding an undo node is currently O(n) because we use linear search. It's actually very simple to just use a map to replace this though. For the draw brush impacting a large portion of a 6 million vertex mesh (the benchmark file from #118145), this change improves brush evaluation time by almost 60%-- from 1.1s to 0.7s. This doesn't include the cost of refilling GPU buffers, but it's enough to probably give a noticeable change for users. Pull Request: blender/blender#123415 |
||
---|---|---|
.gitea | ||
.github | ||
build_files | ||
doc | ||
extern | ||
intern | ||
lib | ||
locale | ||
release | ||
scripts | ||
source | ||
tests | ||
tools | ||
.clang-format | ||
.clang-tidy | ||
.editorconfig | ||
.git-blame-ignore-revs | ||
.gitignore | ||
.gitmodules | ||
AUTHORS | ||
CMakeLists.txt | ||
COPYING | ||
GNUmakefile | ||
make.bat | ||
pyproject.toml | ||
README.md |
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.
Project Pages
Development
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 for details.