There are a number of sculpting optimizations that were never made to work in Blender 2.8, which have a significant impact on performance.
- Clipping of PBVH nodes outside of the viewport is missing, due to missing clipping planes: float(*planes) = NULL; /* TODO proper culling. */
- Clipping of PBVH nodes does not use Z planes, so objects behind the camera are not skipped.
- Workbench anti-aliasing happens during a sculpt stroke, causing the entire 3D viewport to be redrawn while painting a stroke. During a stroke, AA could be disabled similar to RV3D_NAVIGATING. However the area outside of the stroke would remain anti-aliased, which might look bad?
Partial redraw is not working at all currently. The smaller render region never makes it into GPUViewport and the clipping planes for PBVH nodes do not take it into account either.
- Support partial redraw in GPUViewport
- Ensure it works for all render passes
- For effects like cavity and depth of field, make sure the region is expanded to avoid drawing artifacts.
- Use partial redraw clipping planes for PBVH nodes.