d001e143a90bd99976972dc7648d175a995cbbba
When sculpting high-res meshes, the total number of nodes in the BVH tree can get quite high and — especially when the brush radius is low — comparable to the number of vertices influenced by the brush. Under these conditions, algorithms that run on each node of the BVH, especially if single-threaded, can become a bottleneck. This issue is particularly prominent in multires, where the leaf limit is 2500. The main culprit is `BKE_pbvh_redraw_BB`, which is used when flushing an update to calculate the redraw bounds. Because partial drawing is currently broken, and because a future reimplementation of partial drawing is unlikely to adopt the existing approach, this PR removes the partial drawing logic from `flush_update_step`. This patch provides a speedup ranging from 1.25x to 1.45x, depending on the brush size, when sculpting a small portion of a multires mesh with roughly 8.1 million faces and 12.6 million vertices using the draw brush. Pull Request: https://projects.blender.org/blender/blender/pulls/136471
…
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.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
