Blender Edit Mode Performance

If you can share any of these objects with the developers it would be great. They need some real CAD data not just a subdivided cube. All my work is under NDA so I can’t share any big CAD models.

Right now I’m not working on CAD data. I’m actually converting this model from Corona to Cycles/Eevee:

https://www.turbosquid.com/3d-models/3d-pack-realistic-pines-1375515

The developers are free to buy it and attempt to convert it themselves and see how “quickly” it can be done! :laughing:

(Note, the FBX can’t be read by Blender, of course, so you have to ask for Turbosquid’s “conversion service”, which gets you the meshes.)

PS. Yeah, all our CAD models are under heavy NDA as well. Can’t share anything.

2 Likes

Optimization patches have been incoming
https://developer.blender.org/D11337
https://developer.blender.org/D11375

Nothing has been committed to master yet, but work is definitely ongoing as we speak.

7 Likes

allot more patches exist

https://developer.blender.org/T88456

https://developer.blender.org/T88457

https://developer.blender.org/D11338

https://developer.blender.org/D11310

https://developer.blender.org/T87835

https://developer.blender.org/D11290

https://developer.blender.org/D11294

https://developer.blender.org/D11339

10 Likes

And now this one.
https://developer.blender.org/D11375

What it shows is just how unoptimized editmode in 2.8 really was. Fully optimized code could end up giving the same effect as upgrading from a Celeron to a Ryzen9 (ie. it will feel like you have a new machine).

6 Likes

Keep in mind, he is talking about 34% from the original code he is modifying aka the extraction process,
not 34% of the overall speed of the edit mesh operation …

Still they are shaving 20 and 30 % from 3 patches at least so far.
So it’s certainly going to be much better than it is now

1 Like

Two speedups committed so far today.

Editmesh selection (small, but noticeable).
https://developer.blender.org/rB5f749a03ca1d34296adc84fc251e15790f583021

Actual mesh editing (at least a 10 percent speedup).
https://developer.blender.org/rB44d2479dc36fe3409afc660eea369bea8a517987

Follow the latest tasks and patches here
https://developer.blender.org/T88550

15 Likes

Everybody should check recent master. After these patches landed: 10 mil (tris) object and only a slight hiccup when it comes to open edit mode, and select parts of the mesh. G,R,S is still bad tho.
(inserts screamin’ cat emoji)

8 Likes

Which build did you test specifically? I tried some of the latest builds, but so far no difference.

Blender 3.0 alpha.

Moving vertices with the usual Dragon Model:

Blender 2.79: 1.86 fps

Blender 2.92: 1.12fps

Blender 3.0: 1.27fps

~13% speedup from 2.92, ~31.7% slower than 2.79.

The time from going from Object Mode to Edit Mode, is practically identical, ~4 seconds. And ~3.27 seconds for Blender 2.79.

Edit: should have tested them individually.

4 Likes

Oh no. Already comparing after a few patches.

Fix T88456

Master.
rdata 46ms iter 55ms (frame 410ms)

This patch.
rdata 46ms iter 55ms (frame 410ms)

Refactor: DRW Mesh Extractor: Join the extractors in a same loop

MASTER:
large_mesh_editing:

rdata 9ms iter 50ms (frame 155ms)
Average: 6.462874 FPS

PATCH:
large_mesh_editing:

rdata 9ms iter 34ms (frame 136ms)
Average: 7.379491 FPS

You can tell that to the developers, they are making comparisons too, just after a few patches.
How do you know if something is working if you don’t test it directly?

7 Likes

Eh, it’s fine to compare IMHO. It’s useful data. It’s not like he’s complaining.

2 Likes

They do it per patch to see if the change is useful. Everyone can test it but i was hoping to see that after a big change.
13% Speedup in dragon model and the rest is the same, is not very encouraging. I hope they can find pandoras box in the code…

1 Like

There is branch called “temp-editmesh-partial-updates” in which there was this one commit:
https://developer.blender.org/rBS9f2a3818414311a549849c3add913cb25e968459
Apparently they experimenting with partial updates and results so far is ~50%-60% increase in FPS. It’s still only branch and there is no patch yet. But if you reaaally wanted to know beforehand…

5 Likes

The work being done so far does will not produce miracles if the mesh makes use of modifiers. It is currently about improving the performance of the foundation of editmode (that is, basic modeling).

OpenSubDiv speedup is also not part of the current sprint (which last I checked that task will fall on Kevin). It does make sense to me if they are starting with the basics and working their way up (so the code becomes robust at all levels).

1 Like

Blender 2.79: 1.86 fps
Blender 2.92: 1.12fps

This means 66% improvement would be needed to just reach 2.79 level.

6 Likes

There has barely been two weeks of coding and we still have two thirds of the sprint to go (the sprint is 9 weeks). There’s also quite a number of patches in various stages of the review process. In fact, patches have only started to go into master this week.

There is a lot of time left.

3 Likes

Partial updates; Initial commit

https://developer.blender.org/rBc2fa36999ff25ce2d011971a460d7efa11705e57

This is only applicable for the transform tool for now, but in the case of moving vertices it should give a noticeable speedup (even when compared to builds with the other commits).

6 Likes