Page MenuHome

Highpoly mesh sculpting performance
Open, NormalPublic

Tokens
"Love" token, awarded by Schamph."Love" token, awarded by johnsyed."Love" token, awarded by tiagoffcruz."Love" token, awarded by CMC."Love" token, awarded by ebarranco."Love" token, awarded by bnzs.
Assigned To
None
Authored By

Description

After doing some profiling I found that one of the current bottleneck in sculpt mode for supporting the new tools is in pbvh_update_draw_buffers when a large number of nodes is tagged to update and redraw each frame. This affects performance when working with big brushes on high poly meshes as well as some of the new sculpt mode tools.

There are some new tools in sculpt mode that needs to update/redraw all PBVH nodes in real-time, such as the mesh and mask filters, transform tools or pose tools. To make these tools faster from sculpting mode, the current approach is to delay a viewport update as much as possible, processing multiple iterations at once.

For these tools, it would be nice to have a way to update and redraw the whole mesh at once in the fastest way possible, skipping all PBVH updates and rebuild operations until the tool finishes.

Details

Type
Design

Event Timeline

The point of the PBVH is to be able to do partial updates quickly. If doing many partial updates is someone significantly slower than updating the mesh as a whole, that is something to be fixed. There is no good reason for it to be slower.

The solution should not be to take some separate code path that updates the mesh as a whole, but rather fixing the bottleneck in the partial updates.

Brecht Van Lommel (brecht) triaged this task as Normal priority.Aug 20 2019, 7:35 PM