I have been working on some improvements to the Blender OpenSubdiv implementation, and I am sharing some builds for anyone who would like to try it out, test it, and make sure it’s all working good. Please note that the work is not finished yet.
There are 3 main features:
This only happens if the modifier is the last in the stack. Although performance is improved, there is still one expensive operation which is done on the CPU, work is being done to port it to the GPU. For now this will only affect performance in Edit Mode when modifying the topology (e.g. changing the polygon count, or adding creases).
This will only work if your graphics driver has compute support (OpenGL 4.3 or compute ARB extension).
Here is a quick comparison moving vertices around for Suzanne at 6 levels of subdivision between Blender 2.93 and the branch (about 25x times faster for this case):
This allows to create sharp corners:
A face hole is a face which influences the subdivision process but is deleted (with all its sub-faces) after the subdivision. Below is a visual representation, the left cube has a face tagged as a hole, so it looks sperical but one part is missing; while the other cube has the face deleted, so it looks more like a parabola:
All those features are available for Workbench, Eevee and Cycles (although Cycles does not have GPU acceleration support).
The builds are available for all platforms on the experimental builds donwload page, under the name “subdivision_work” (which is also the name of the development branch).
Direct download links (builds from July 14th):
Let me know if you have any issues.