The 2.8x OpenSubDiv implementation; Development thread

But won’t that impact users who don’t have a good GPU?

I’m curious about that myself, as I’m on a laptop right now…

If you don’t have a good GPU, in all probability your CPU isn’t all that great either, and so the question is moot. Besides, OSD does have a CPU fallback.

I wonder if this regression may be a bless in disguise, we may end up having some actual development on MultiRes that allows for better performance after some patches are applied.

One can only hope…

What exaclty is opensubdiv? Do you activate it anywhere? Because 2.8 is REALLY slow when editing meshes or rigging, previewing animations is like 6fps with just a few objects on screen, (I have a good gpu) and I’m worried about that.

OpenSubDiv is an algorithm to subdivide your meshes (it basically the old algorithm behing SubSurf), and it handles better the creasing edges. In 2.8 it is activated by default, and it does not use the GPU yet, it is planned apparently but it requires more work. I wouldn’t be too worried about the performance, I don’t think there is any doubt about the really good performances of OpenSubDiv, and it will probably be polished during the BETA stage. :slight_smile: Hope this answer to your question !

You can go here if you want more informations : https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Modeling#Subdivision_Surfaces_and_Multires

1 Like

Please tell me you’re not just basing this opinion on blind faith. The performance drop isn’t even acknowledged in known issues.

Yep, and Sergey wrote in this developer.blender.org thread that OpenSubdiv will probably not yet be finalized / optimized in the first 2.8 release version.

Great. The one thing Blender did really well, modelling, you will now need an external application for. There’s very few things you’d want to model that will come in under 2000 faces.

They could keep the “old sds modifier” there, at least until the performance were on par… :thinking:

Sometimes, you have to make a call on disabling the old code completely in order to facilitate a greater amount of testing and feedback.

That being, if you hid new code behind a compiler or debug flag, how many people are going to actually test it other than the developers?

When I downloaded the beta, I noticed the performance regression has already been logged by a user on the developer site (but the list of reports to wade through to find it is huge).

uh… is this a bug or a feature?

I suspect it has something to do with the adaptive bit of the opensubdiv

also, edges are creased to max.

specs:

CPU: Pentium G2030

GPU: AMD R7 240 1GB

GPU Driver version: 18.8.2

what do you expect? turn up the “view” levels and you will get sharp edges… its the same as before execpt much slower ^^

It’s 3 subdivisions though, the result looks like what I’d expect when I lower the crease to 0.99 as opposed to 1

Here’s it at crease = 1 , Subdivisions at 3

Crease = 0.99 , Subdivisions still at 3

well the shading error is just a bug - open the same scene in 2.79 and compare the results and speed ^^

When I downloaded the beta, I noticed the performance regression has already been logged by a user on the developer site (but the list of reports to wade through to find it is huge).

I did, but maybe other users reported that too? Sadly it turns out we’ll have to wait for playback acceleration:
https://wiki.blender.org/wiki/Reference/Release_Notes/2.80/Modeling#Subdivision_Surfaces_and_Multires

For now, the Subsurf modifier brings about the same performances than 2.79 (without OSD), at least for meshes deformed by armature modifier.
I don’t know about sculpts and multires.

About the bug tracker, I think it really deserves to be re-designed with simplicity in mind… It’s not easy to look for existing bugs.

I can see what you mean about the performance, for some reason the memory on 2.8 is 116 MB while in blender 2.79 it’s 15.7 MB. That’s a huge increase

2.8

2.79

As for topology tests…

2.8

2.79

Blue = 2.79, Red = 2.8

image

1 Like

If you’re concerned about topology changes, keep in mind that OpenSubDiv does calculations in a somewhat different way than the custom subsurf code found in 2.7x.

Your creases should render far better for starters, though the issue with the value at 1 does look like something that can be reported.

This kind of small issue is kind of pointless to even report while the house is on fire the performance has regressed all the way to unusability.

1 Like

Is it so bad?