Developer Meeting Notes

Another significant speedup to obj exporter:

Exporting the blender 3.0 splash screen scene into the resulting 2.4GB sized obj file, on windows (Ryzen 5950X 32 threads, M.2 SSD):

  • Blender 3.0 old exporter: 343.1 sec, +15GB (!) memory during export.
  • Blender 3.1 new exporter: 48.9 sec, +0.6GB memory during export.
  • This patch: 6.0 sec, but +3.1GB memory during export, basically the result obj text has to be kept in memory.

I tried this latest code on my Ubuntu Linux machine (AMD 3960X, 24 cores, 48 threads), and got a great speedup:

  • python: 487s
  • c++ exporter, serial version currently in master: 33.45s
  • c++ exporter with this latest patch: 5.80s

So your patch gives a speedup of 84 times the python exporter, and 5.8 times the serial version. Great!

Yay! Thank You Aras and Howard!

6 Likes

I hope this is what I think it is. I’ve been using Plating Generator recently and it really sucks when you click between two UI elements on accident and it changes your selection/collapses the panel because the object with the Plating Generator isn’t selected anymore.

5 Likes

Has anyone managed to make this work in weight paint? My assumption based on the notes was that the default keymap would now be consistent with sculpt mode (ctrl would substract and shift would smooth) however, that does not seem to be the case.

That patch just adds those options, it does not yet changes it in keymap.
obraz

so You have to set it up by Yourself


4 Likes

FINALLY! :partying_face: :partly_sunny: :fire: :trophy: :100:

Been waiting for this patch to arrive for such a long time. Now I can export my high poly sculpts to bake in Substance without having to wait several minutes!

7 Likes

Just tried exporting a 42 million triangles mesh with .obj and WOW! What a difference! Took me less than 3 minutes to do so compared to before which took nearly 15-20 minutes. Absolutely incredible. :trophy:

13 Likes

7 February 2022

Notes for weekly communication of ongoing projects and modules.

Announcements

Proxy Removal

Proxies have been deprecated since Blender 3.0, but their internal evaluation/management code was still there, and it was still possible to keep using existing proxies defined in older versions of Blender.

They have now been fully removed. Existing proxies are converted to library overrides as best as possible.

For more details, please see :anchor: T91671 Remove Proxies .

New Features and Changes

OBJ Exporter

  • Performance improvements:
    • Multi-thread exports of large objects (commit ) (Aras Pranckevicius)
  • Split the Python OBJ importer and exporter, enabling only the importer (commit , commit ) (Howard Trickey)

Modeling

  • Improve bevel N-way intersection continuity (commit ) (Henrik Dick)

Attributes

  • Add infrastructure for a generic 8-bit integer data type (commit ) (Hans Goudey)

NLA Editor

  • Add a shortuct to rename active strip (commit) (RedMser)

Compositor

  • Add Combine and Separate XYZ Nodes (commit ) (Dalai Felinto)

Geometry Nodes

  • Remove dependency graph object transform dependency in some cases (commit ) (Hans Goudey)

User Interface

  • Adjust Layout on Quick Setup Screen (commit ) (Yevgeny Makarov)
  • Performance improvements
    • Improve speed of drawing many different font sizes by caching character widths(commit ) (Harley Acheson)

Library Overrides

  • Remove internal support for proxies (commit , commit) (Bastien Montagne)
    • Remove option to not auto-convert proxies on file load. (commit ) (Bastien Montagne)

Weekly Reports

7 Likes

No Sculpt Mode additions or Joe Eagar reports. :neutral_face:

4 Likes

I think he’s focused on getting the plan™ ready

4 Likes

I wish I could say I’m surprised but I’d be lying. As much as blender wants to be leading edge the industry tends to prefer stability(not necessarily in the non-crashy software sense, that’s just nice to have).

Guess it’s just a sign that blender really isn’t and never will be made for the industry but rather the indie artists and hobbyists. And an occasional smaller studio perhaps. A reality that might simply have to be accepted.

It was however an important test and an experiment well worth running.

2 Likes

Next Week

Geometry nodes and hair project.

yeeaah

11 Likes

According to previous discussions, one issue the core team had with the VFX Reference Platform is that it did not even allow library upgrades to bugfix versions. It is actually surprising how stubborn and rigid the industry in general can be on these things, as that would be like a studio worker installing the Blender LTS release and forced to work around issues all year instead of grabbing the hotfixes.

11 Likes

Not sure if that is bad.

9 Likes

Was he really hired? I don’t remember seeing any official announcement… hmm… :thinking:

1 Like

he got a grant somewhere i read in the sculpt mode thread…

3 Likes

Even bugfixes can generate new bugs, sometimes bugfixes break the work arounds in the process of fixing the bug, thus creating a different kind of bug.

The devil you know is better than the devil you don’t.

Existing bugs can generally be worked around in process. but if you have put thousands of hours into your project and a new bug occurs somewhere, tracking down what the bug is and how to fix it without breaking other things is a much bigger issue.

4 Likes

Never said it was.

2 Likes

Looks like named attribute nodes will actually arrive in 3.2 geonodes. This will make a lot of people happy!

7 Likes

Dalai Felinto stated in the Blender.chat coders channel that Joe would receive a grant starting January 1st 2022. Joe has started reporting accordingly, and is mentioned as the Sculpt / Paint / Texture module coordinator.

7 Likes

If anyone is interested how it went, here is Aras’s blog about that patch that i randomly found while browsing internet (lol)

https://aras-p.info/blog/2022/02/03/Speeding-up-Blender-.obj-export/

13 Likes