OpenSubdiv issues with large and complex meshes

Until it was commented here the developers didn’t know that there was a performance problem and that it was, during editing, inferior even to the standard subdivision of 2.79.

Likewise, developers don’t have to understand the importance of a feature in workflows. Or sometimes they don’t calculate in the same way as the users who really use it. And of this we have seen hundreds of examples in the development of blender.

And since this task is in medium priority, I don’t think it is valued with the importance it has. Since any Hardsurfaces modeler or animator is extremely affected to the point that it is better to go back to 2.79 to use 2.8.

Yes, it can generate some noise these comments, but it is this noise that makes things work better.

1 Like

I agree with Alberto, if we are highlighting this problem it is because we consider it a priority. We don’t have fun stressing the programmers.
Subdivisions are fundamental in modern software. In Maya I can view the real-time displacement of rigged characters in animation over 24 fps.
The very high subdivisions only slow down a little.
Not being able to use them in Blender playback with Armature and Shapekey is a serious problem.
I don’t understand why they don’t pass to high priority.
I hope that in version 2.82 the problem should be solved.

I hear you all. As said, everything is important, you probably should think of any task on developer.blender.org as being high priority. Priority assignments have several purposes, not only towards users. In the end the goals is to handle everything. But I’m sure you’ll understand that available resources put their own constraints on how tasks can be scheduled.

No, everything’s not important.

If tomorrow we lose the ability to select in blender there is no doubt that it would be immediate repaired. The subdivisions are 50% of the workflow. Luckily for me right now I’m not using subdivisions in my work these weeks, and the little I’ve needed I’ve solved them otherwise. The few times that I need to use it was like “what a pita”. And a video of the problem here in the forum.

I don’t know how to make you understand that this is more important. It is as if tomorrow comes blender2.81 without cycles, or without eevee, without being able to render…

No, it’s not something that “will be fixed”. It’s something that has to be fixed. A modeling program with unusable subdivisions can’t come out for 6-9 months while warnings are being fixed.

I can understand that some tech problems make impossible to dev solve it, because depends of other apis. But this must to work because people need it to obtain a salary.

@jesterKing: I might be wrong, but I don’t see a fast way to fix this, it’ partially out of hands and gpu support has dependencies that should be addressed first. Tweaking CPU performance might be a shortterm goal, but then we have 4fps and then someone is crazy enough to put the subdiv one level higher and we are back at 1 fps. Wouldn’t it be wise to temporarily revive the old subdivision system renamed as a separate “Legacy Subdivision Surface” Modifier until the new and technically superior solution catches up in terms of speed? Is that really much work to port to 2.8?

1 Like

I guess it could be possible, but I don’t know how feasible that is at the moment. Quite likely not for 2.81, but who knows.

From everything there is always something that is more important to someone. Therefor everything is important.

The devs are working hard to solve all performance issues all the time. Now let them do their work.

Keeping my fingers crossed. :+1:

2 Likes

Will the problem of exaggerated subdivision slowness be solved in 2.82?
Subdivisions are unusable on animated characters, for an animation software it is embarrassing. I hope that the right priority is given, in 2.7x it had been resolved.

1 Like

Considering I don’t see it in the 2.82 Backlog most likely not.

https://developer.blender.org/T68996 You can give it heart/fire token here if you wish to make the task seem more urgent/desired

and it needs more information

Need more details on the issues we may face, or the details of the implementation.

Subdiv: Tweak threading settings

On a higher subdivision level with a file from T70826 the
evaluation time goes down from 0.25 to 0.17 seconds per modifier
evaluation.

When D6189 is finalized we can being some extra performance
improvement.

:point_down:
BLI_task: Initial implementation of pooled threaded index range iterator.

E.g. performance tests on a 32 threads machine, for a set of 10
different tasks, shows following improvements when using pooled version
instead of ten sequential calls to BLI_task_parallel_range():

Num Items Sequential Pooled Speed-up
10K 365 us 138 us 2.5 x
100K 877 us 530 us 1.66 x
1000K 5521 us 4625 us 1.25 x

I made a build. By now I didn’t see improvement from a user point of view in the test files. But is a good step.

PD: My fault, I didn’t stash some Diff and the push didn’t happen. My test are not valid.

Yep, I have seen improvement in the new build. Still not so good like 2.79 legacy Subdivision.

In version 2.81 and 2.82 almost nothing has changed.
In 2.83 will the right priority be given to this problem? Does anyone make animations with Blender (using subdivisions)?

I don’t see any substantial improvements in 2.82.7. This is the difference on my PC (Blender 2.82 vs Maya). Incredible slowness of the subdivisions when playing a simple shape animation.




Blender subdivision level 1 (only one level!), frame rate 3 fps
Maya subdivision level 2 (1.276.800 tris), frame rate 160 fps
Blender 2.79 subdivision level 2 (1.276.800 tris), frame rate 59 fps
10 Likes

I didn’t see any update to solve this main problem of blender. Maybe it’s necessary to take a look of this problem @dfelinto

4 Likes

I creating a new post! Perhaps highlighting the slowness in animation the problem will be taken into consideration, I hope!

3 Likes

@dfelinto cmon guys, we’reporting this problem since the beginning of 2.8!
People need to work here, fix the important issue plz…

2 Likes

Agree, i remember when opensubdiv replaced the old code in the 2.8 branch and we were promised the old performance back and improvements like vertex crease in addition to edges. Faster and gpu accelerated open-subdiv … but nothing has changed in subdiv speed since then , it’s so slow compare to even pre-2.8 and it’s been a year or so already.
Here is a change log from 2.8 release :
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Modeling#Subdivision_Surfaces_and_Multires
"Note however there are still some missing features and performance problems in the new implementation. Particularly animation playback and moving of vertices in edit mode will be improved before the final 2.80 release, to bring it back to 2.7x level.

Further optimizations and features to be added later in the 2.8 series:

  • GPU accelerated subdivision (as existed in Blender 2.7x with the Use OpenSubdiv option)
  • Vertex creases support (to mark vertices as sharp or semi-sharp).
  • Better interoperability with other software, by supporting options for UV and boundary interpolation. "

None of this happened.
subdiv is such a huge part of any dcc i don’t know how the devs keep ignoring it

9 Likes

+++, I also think it must be a high priority. It is more important then new features. Need to return 2.79 speed.

2 Likes