The 2.8x OpenSubDiv implementation; Development thread

That’s true, however it really needs a high number of non-quad faces to lead to an effective slowdown:
-Simple mesh deformed by an armature, 1940 faces, quad only, subsurf level 3: 13.9 fps
-Now when splitting into triangles 150 faces of this mesh: 12.9 fps > -1 fps
-Now when splitting all faces into triangles: 7 fps > -7 fps

Playback of an animated mesh with shape or bones is very slow with the subdivision modifier (2.8, 2.81, 2.82.7, 2.83) It is a very serious problem for characters and creatures animation, open subdivisions should use the GPU.
I attach 3 videos.
The problem had been resolved in older versions of Blender (2.7) as you can see in this video where Sharybin shows a dragon flapping its wings (2014):

Test: 200 x 200 sphere (shape animation):

Blender 2.82.7
Subdivision level 1
Frame rate: 3 fps

Blender 2.79b
Subdivision level 2
Frame rate: 59 fps

Maya 2018
Subdivision level 2
Frame rate: 160 fps



7 Likes

We know. The devs know too.

So far there’s no news, no perspectives, no communication and no hope.

4 Likes

and its the feature that they promise to us for the blender 2.8 and we still waiting :frowning:

2 Likes

Could someone explain to me why OpenSubDiv was implemented for 2.8x with only the CPU in mind when it needed the GPU to get the proper speed-ups? Haven’t really followed the development of this project, so a quick summary would be appreciated. :slight_smile:

1 Like

Because of the heavy workload, GPU support has been deferred. From an outside perspective, it’s indeed a disadvantage because it’s a regression compared to Blender 2.79, that’s why many users are complaining. But internally, implementing OSD as the base subdivision feature of Blender required a lot of code changes, so this makes sense to spread it in multiple steps, I guess maybe to ensure that the implementation is robust enough, then add optimisations later.
But more communication about it would be very appreciated, will it be added to Blender 2.83? 2.84? It seems no one knows. Currently, the next thing on the Todo list of Sergey is multires modifiers improvement. It seems there’s an obvious lack of developers in this area.

EDIT: It seems it’s not a 2.83 target yet
https://developer.blender.org/project/board/105/

6 Likes

It is on the devs’ radar at least, but with the loose ends being tightened up, it is imperative they start work on the performance issues within a few months. Otherwise, the artists who work on the Open Movie Projects should simply walk out and go home (at least until the devs. get the message). We in the community can also deliver the message (if nothing is done) by striking them hard in the wallet (ie. a plunging development fund).

We wouldn’t want to do that as a first resort because of the positive direction 2.8 took in many areas, but Blender is at risk of showing the world that 2.8 was not really the positive change in paradigm it was hyped to be.

4 Likes

Meanwhile, they’re working hard to squash the bugs, that is also imperative.
I wouldn’t blame them this much, we know Blender gets bigger and bigger and this takes time to maintain all the new features.
Hopefully Sergey will work on it soon…

7 Likes

Well, we can also forget that the dev. team has given the areas of UI and usability a lot more attention than we saw before 2.8. We also have the undo regressions being worked on.

But beyond undo, OpenSubDiv performance is the biggest issue threatening to derail any advance Blender has made. Multires is important too, but OSD probably affects more users.

4 Likes

I also agree, OpenSubdiv must be High priority ,more then multires. I think much more users use it more then multires .Also hard recommend blender to any colleague when it so slow for subdiv modeling. One of target of new open subdiv for 2.8 was speed, but it so slow , for me will be enough to make it the same speed as in 2.79. I was thinking it will be back in speed in 2.81, then 2.82, but seems it will not be even in 2.84, and not in this year. It very sad. I think we need to make some noise so developers see how important to return 2.79 speed of opensubdiv and make it high priority.

4 Likes

I think the undo system need to be reworked first and I mean by that it’s a hard dependency and not my opinion about which should have a higher priority

Since they are making big changes in the ID management for undo, Which will affect the DEG system and speed and it’s a first step towards general performance improvement.

Edit: Once that part is done the can profile for bottlenecks again. Since what is a bottleneck right now could be very different after you change the DEG and ID management system.

I’m not sure if this affect the internal of how modifiers work or not though…

The Undo system is actually being worked on, unlike OSD.
Not sure how this relates to OSD GPU, these are probably separate subjects.

3 Likes

openSubDivision on the GPU would be nice.

they should do GPU armature skinning around the same time - I think they both need similar shaders.
(input vertex info+uniforms -> output vertex info)

1 Like

I tried to open a token, after 30 minutes they closed it T58191. I posted on Right-Click Select and they say it’s not the right place to complain. It took 15 years to update the outliner…
Dear Blender developers, if you want the support of professional users you have to listen to us. Users with 20 years of experience should be listened to!

5 Likes

I think they want to go this way instead - https://developer.blender.org/T68891

We’ll have to see how that works out, as long as we can get GPU acceleration back I’m sort of happy I think. Pretty unusable as it is now.

Theoretically, this year should be the year of solving all these “small” problems … Dalai however, has already drawn up a sort of roadmap focused on solving performance problems, and indeed this now, more than ever, makes sense .
You can put all the new features and beautiful features you want, but if these known performance issues are not resolved as soon as possible, it makes little sense, blender currently cannot be used to its full potential and under heavy works.

7 Likes

If by 2020 they don’t solve, maybe it’s better to forget the Blender “experiment”.

2 Likes

If by then they don’t solve, Ton should be expected to personally approach the CEO of Autodesk and apologize for all of the bad things he said about the company and its licensing in the past, as you have no standing to criticize a company for its practices if you literally do not seem interested in creating a better solution.

If by then they don’t solve, then this will serve as another strong argument for capitalism, as it will become obvious the more socialistic FOSS model does not work for high-end software. Maybe a new dev. team after Blender gets forked will do better?


I implore the BF to not let us down and to give pros and serious users a choice that is not Autodesk. The undo work is a good step, but please tell us that 2.8 is indeed the new era of Blender and that you have learned something about performance since NaN went bust. For members here, keep bumping this thread and make sure the developers keep seeing it.

1 Like

They were asked about it in the Conference, and it seems that OpenSubdiv wasn’t built for editing meshes only for animation playback, 2.7x version did alot of hacks to speed it up but wasn’t high quality so they dropped it.

What @dan2 have posted seems they’re also taking another different approch with the upcoming everything nodes.
I think they could communicate things a little bit better so people know what to expect at least for the short term.

2 Likes

This. It’s great to see plans and roadmaps, but for people making a living it’d be nice to be able to plan things out a bit.

Don’t get me wrong, I like where blender is going and I trust the developers (Dalai and Pablo in this weeks Blender Today episode not being able to tell Embergen from Houdini was a bit of a red flag though) but if we look at this thread being 1.5 years old one can understand the difficulties with being able to plan ahead.

I feel like a blocker for many things is the usual “that’ll come with everything nodes, no point of fixing it now” and who knows when that’s gonna happen, even in a basic form.

Anyhow, I’m sure it’ll be fixed at one point, in the meantime it’s great to see the amount of code cleanup and that undo thing getting some momentum.

3 Likes