Blender 3.0 OpenSubdiv development

About Wireframe viewport view. In Master if Optimal Dispay is checked in Subdivision Surf modifier, then if you modify Wireframe slider under “Viewport Overlays” → “Geometry” there are no visualization changes in wireframe of the mesh. Is this something intentional in Master?. In Subdivision_work branch that slider still influences wireframe visualization when Optimal Display box is checked.

I see you guys talked in previous posts about Wireframe view. I’m not sure if about this I have mentioned.
Old 2.7* scenes are opened in Blender 2.8+ with that Wireframe Slider=0.5 and not =1 as it is by default in 2.8+

1 Like

Wow! I am testing now, and it’s a pretty major speed improvement!
I’m running Windows 10 64bit, with an old 980 TI OCed.

Trying subDiv Level 3 on a mesh:

Toggle into Edit mode:
2.93 - 5 seconds
3.0 - 1 or < 1 second

Soft Selection Movement:

2.93 - Doesn’t even work/never even starts to move. Keeps lagging out for a long while.
3.0 - maybe 5-10 FPS, but can somewhat interactively move the mesh/verts!!

Edit: Also, running my cloth simulation/modifier stack in 3.0 vs 2.93.
3.0 is definitely more “interactive” with the viewport updates, where 2.93 stalls out again/i can’t see what’s going on and gotta just try and stop the playback/wait for it to update.

The Mesh:


Hello multi res. Let’s take this for a rigged drive :wink:

While its not performing as well as I expected it too in every circumstance overall I am very happy with what we’ve gotten.

Obviously the pose performance drop has been fixed with the latest build and I posed Rocket Girl to celebrate. I think this expresses pretty well how I feel right now. :heart:

You can find some more info about rocket girl including where to download (free) here:


In what circumstances isn’t it working for you?
Practically all my tests went great here.
Even the Rain rig, which is rather performance consuming -45 fps without subdiv here- leads to same 45 fps with subdiv level 2, if we remove the Data Transfer modifier of the face, which is a performance killer. I think it’s pretty awesome!

1 Like

Just found a crash case:

  • Add a Solidify modifier to the default cube
  • Add a subsurf modifier
    -(message edited) Enable “On Cage” for this subsurf modifier (triangle button icon at the top of the modifier header)
  • Enter Edit mode, crash
    Tested with two systems, gtx 1080 and gtx 1060 laptop
1 Like

I can confirm the crash your experiencing with an RTX3060 (not that I think the graphic card matters in this case).

Insofar as performance I find Rain V2 performing “ok”, im not hitting your numbers but she at least stays above 24fps. I’ve tried looking for the data transfer modifier that should be on her face but couldn’t find it.

I will take another look later this evening because if there are specific things on rigs that slow them down I’d love to know what they are so I can either tweak the rigs or avoid those things in my own rigs. :slight_smile:

Another rig whose performance I found disappointing is the commercial Jim rig. => And I’ve actually just fixed that. Chalk it up to user error. There were some cases where the subdiv modifier was not the latest in the stack. I don’t know how I’ve missed that. Ive recently redownloaded it because there were some issues with library overrides so perhaps something changed with that version or i’ve just been stupid. Both are possible :thinking: :sweat_smile:

Jims rig performs swimmingly now. Its not as fast with subdiv as it is without (obviouisly) but its more then fast enough now.

I hope I didn’t come of as too negative. I am still very happy with what we got.

Maybe I did not properly implement the same behavior, although I think master might be a bit wrong here.

1 Like

Maybe we should ask Clément and Sergey if the behavior in Master is due to any reason. Also ask if old 2.7 files should be opened with Wireframe slider=1 in 2.8+

I think I fixed the reported crashes, and one more which I detected.

New builds:


Thanks for fixing the bugs Kevin. Regretfully I found another on in my testing. :sweat_smile:

Selection of mesh elements is broken when “on cage” is enabled and X-ray mode is enabled in the latest build.

Blender Version
3.0.0 Alpha, branch: subdivision_work, commit date: 2021-09-15 23:55, hash: rB446c5f722882


1 - Add subdivision surface modifier to cube
2 - Enable “on cage” in the modifier
3 - Turn X-ray mode on
4 - Go into edit mode
5 - Try to select a vertex where its shown

Result: no selection
Expected result: vertex under cursor is selected

What happens in X-ray mode is that it takes the position of the vertices on the non subdivided mesh. If you guess where they are and click you can actually make selections. Surprisingly if you turn X-ray mode of it works as expected.


Hi, Any Idea why it looks like this in sculpt mode? Thanks!
Windows 10, gtx 770. (471.11 drivers)

blender_debug_output.txt (3.9 KB)
Also use custom normals doesn’t work

Edit: Found out it was face sets overlay. Disabling it gets rid of the glitch

is the opensubdiv in latest nightly builds merged? it will merged to blender 3.0?

The sculpt data buffer was not filled, should be fixed now. Custom normals is still not supported though.

No, it is unlikely to go in 3.0 after all (tomorrow is the current deadline). Code review took a while, and I took even longer to address the concerns, I still have a little bit to do. Who knows, maybe it can still go in.


It will be good if the foundation merged the code for blender 3.0, it will be good advertisment, a fast animation playback !