The 2.8x OpenSubDiv implementation; Development thread

man… you all are so melodramatic! :joy:

2 Likes

Maybe you’re ok with performance for whatever you do with Blender. I’ve been relying on subsurfs being a certain performance level for years, and now I’m stuck on 2.79 because it’s impossible to edit any of my old stuff in 2.8.

It’s highly unusual for a thing that worked before to become slower. If that happens, you can ordinarily upgrade your PC and keep soldiering on. But this here is such a royal screwup that no hardware on the planet will help you. And for no good reason, there’s no upside to this. But ok, screwups happen, it’s not the end of the world. The really upsetting thing is that nothing is being done to address this. No plan, no roadmap, no nothing.

I’m pretty angry at this point. I’ve been looking into alternatives for modelling software, but they’re all pretty crappy - Blender’s modelling tools are just second to none.

I guess this is an effect of Blender development having exploded after the funding rocketed sky-high and all of a sudden 20 paid developers need to actively work on Blender in harmony.

“What to do now?”

“Well, let’s reinvent and renew just about everything again and again, until no user knows where to find a tool or shortcut anymore.”

This is one of the reasons I’m still considering returning to the tranquil equilibrium of MoI 3D + ZBrush + Keyshot I used to use until a few years ago.

I’m being a little sarcastic here, but I think there’s a core of truth in this.

2 Likes

I guess people who don’t get the frustration don’t have to make the decision of extending subscriptions for alternative packages monthly vs for a year. For freelancers/small studios it’s all about efficiency. Some things in Blender are helping with that (eevee or modeling (if it’s not highpoly)) some things are just a no go.

I pretty much stopped waiting for any of the bug fixes, I’m just glad if I get something nice/new/improved, and until major show stoppers like this one are getting fixed I just need to stick with other more refined packages.

I love Blender, I use it every day, it’s fun and all, but if I need to get work done I’ll use whatever I have to.

Yes, it seems like on one end they’re breaking up with many things that made Blender Blender, on the other hand they seem to be ignoring packages that are top of the line now, like houdini, katana, etc.

Rant mode off - got to cut them some slack, it’s curfew and all, and a lot of code cleanup is going on. I just really wish they didn’t put 2.79 as a target for performance in edit mode. That one left a scar for sure. :smiley:

1 Like

Yeah. It’s good to blow off some steam every once in a while, but we all still love Blender, or we wouldn’t be here frequently. :slightly_smiling_face:

1 Like

I work in subdv workflow for years and I must agree, this is a huge step back. Currently I’m working on this engine:

https://twitter.com/veezen3d/status/1229154351798681603

Using a subdivision modifier is very painful. Every small change, every minor vertex movement makes Blender run very slow on my new high-end PC (RTX 2070 Super, R7 3700x. 64GB Ram). Only solution is to turn subdv modifier off, but what if you have 100 instances placed around the scene which uses subdv modifier too? There is of course “Simplify” option which allows disabling subdivision on the whole scene, but that doesn’t mean we should use that forever.

The worst part is that more 3d modellers are coming to Blender, and if they find out how bad it is, they will be disappointed.
I have plan to make some videos using my latest project showing how bad performance we have, to spread out the issue everywhere. It would be super cool to get more updates and clear steps for those improvements rather than constantly hearing from devs “yes, we know about that”/

15 Likes

:rofl: When open sub-d first come out and was been implemented in Blender I asked this very question on this forum because every thing that I read on Pixar’s site and FXguide seemed to say this very thing. But the ‘user experts’ here were of another option.

You were half right - it’s currently absolutely awful for animation playback as well. It’d be funny if it weren’t so sad.

1 Like

The interesting bit is that Blender is literally the only software on the planet that somehow got slower when OpenSubDiv was implemented, and the thing is the devs. know that the bottleneck is mainly due to the way it is handled by the modifier system (ie. initialization and mesh conversion). Now they need to become less FOSS about priorities and tackle it for Blender 2.83 (with the release being delayed if needed).

Meanwhile, Dalai recently opened an official project page for subsurf optimization.
https://developer.blender.org/T68996

8 Likes

Where are most people here going to go?

The mid-range is all but gone and the only equivalent software costs 1K or more, many of them only obtainable with pricey subscriptions,. Daz meanwhile is not an option because they care more about dolls than actual software development (ie. Bryce and Carrara being zombie apps.). Meanwhile, a new mid-range app. would take many years to develop.

The only way out, should push come to shove, would be a new fork of Blender with performance as a key priority, and since it would be GPL it would be free as well. I’m not holding my breath on BforArtists at the moment since they don’t have enough manpower to do much more than edit the UI.

1 Like

So, Opensubdiv GPU implementation has this written:

Although this is important, this still pales in comparison to other playback performance issues for animators. So it has a lower priority than T68908: Faster Animation Playback.

It refers to Faster Animation Playback, which on the other hand has no concrete plan for either of the milestones and no work has been done yet on code. And on it Brecht commented this in january:

This task is too vague to be tagged with any specific Blender release version, so leaving it just as a task on the module page as a reminder to work in this area in general.

Hope the situation have changed since then, but it seems we wont get neither of these features anytime soon. Not complaining, cuz, for example, the new object types Brecht is working on is a magic i’ve been waiting for years. Great times ahead!

Yeah, I guess Blender is currently the most exciting overall piece of 3D software that’s available, even when compared to the big commercial options. Houdini is great too, but specialized in the more technical stuff.

Purely for sculpting, ZBrush is still the king, Keyshot is a great, user-friendly renderer, and MoI 3D is great for hard-surface modeling, but Blender’s attractiveness is that it offers most of what the others offer in one coherent enviroment.

Looks like one area at least will see major performance improvements for 2.83.

It’s not what us 3D people have been waiting for, but Clement now has more time for other important projects.

9 Likes

That’s not to mention that many of the strong points are still quite strong. The BF’s bugfixing paradigm was already efficient and recently got even better, and Blender is one of the few apps. where it’s almost impossible to corrupt one or more of your production files (outside of using highly experimental builds or intentionally trying to crash your system).

When you use other content making apps. of any kind (FOSS or not), you come to appreciate that, high performance is useless if you keep losing your work.

3 Likes

Definitely! Chills go down my spine when I recall the sneaky way 3ds Max corrupted RAM, so even incremental saving could turn out to have resulted in multiple mangled .max files.

The only workaround was frequently quitting and restarting. That’s not how expensive software should behave. Blender shows how it should be.

3 Likes

I also remember 3dsmax painfully. I lost so many files due to that. It shouldn’t ever happen, how did anyone put up with that ?

1 Like

You can probably get an Autodesk Mental Heath Counseling subscription for $250 / month. :grin:

1 Like

Yeah, I briefly considered Max or Maya as a replacement for Blender modelling, downloaded a trial of the latest versions, but Max crashed 8 times in 4 hours, and Maya 3 times. Yeah, nope, not going there.

1 Like

I have way more experience with Maya than I have with Max, so I can talk about it. It is very finicky with hardware, and preferences. Setup things the wrong way and it’ll crash on you. I remember one bug I had (unrelated to OSD, but it’s worth the anecdote) used to overlay the entire viewport (as in overlaid with a solid color in overlay mode) in red when I had the move tool active, in green with the rotate tool, and you guessed it - in blue with the scale tool. I thought I was going to have a stroke when animating, constantly switching between these tools. I quickly moved to another machine. I never had a save file corruption with Maya though. I believe Max has a very solid implementation of OSD, but then again modeling is the core of that program, nobody would use it if not for the modeling tools (save for the archviz people maybe).

1 Like

Hindsight is 20/20 as they say but its clear the old subdivision algorithm should not have been removed.

Opensubdiv might be the future but not in the way it has been implemented for 2.8 Its unusable, anyone who says otherwise is just fooling themselves.

Its time to restore the old subdivision algorithm so people can still work efficiently. This means you can implement OpenSubdiv at a later time without the community breathing down your neck.

I am really surprised this decision has not been made earlier. Its interesting to watch the developers explain why its so slow and why its so difficult. At this point that really is no longer relevant. This stuff is complex, we understand. Its why we all value the developers time and effort.

But understanding the issue (to a certain degree) is not the same as having it solved. I had faith it would be fixed very soon after 2.8 Right now it won’t be fixed even in 2.83 and with the lack of focus on it I have zero faith in this being fixed any time soon (honestly I don’t even expect it to be fixed this year).

Its time to bring back the old subdiv algorithm; put it in a separate modifier if you have to. I understand as a developer this feels like a waste of time, why put work into something that is going to be superseded by something better in the future?

But I think its time to be realistic and help your users actually make use of 2.8 Its supposed to the greatest blender version yet, don’t allow this to hold it back.

7 Likes