Blender Edit Mode Performance

The latest blender 3.0 build is faster in edit mode than blender 2.79

According to my latest test 2.93 is already much faster than 2.79 is. See my numbers above.

And to think the sprint is not even halfway done yet, I myself was pleasantly surprised at their decision to allocate that much time to it (as it shows that performance has become a far more serious subject in the dev. scene compared to several years ago). This is one of the best things you can hope for as not everyone can afford to do a full PC upgrade every few years (for the purpose of getting more performance).

If we see the same leaps with OSD, scene management, sculpting, and other bottlenecked areas (a few of which is currently underway), then the BF will have downright succeeded in “putting the fun back into 3D”.

8 Likes

I am sharing my test file here. I believe this is a far more realistic test than a subdivided cube.

This is a 808MB file consisting of 660 objects, totaling a face count of ~11.2 million faces and 13.7 million tris.

The object I used to test edit mode performance is the upper wing, which consists of 1.32 million faces and 2 million tris.

Have a go at it, gents and ladies.

Original CC0 scan from:
https://3d.si.edu/object/3d/1903-wright-flyer:d8c62e5e-4ebc-11ea-b77f-2e728ce88125

2 Likes

somewhere down this 1864 posts thread, ppl discovered that the 2.79 was still faster because they were testing scenes where there was open subdiv involved, (on 2.79 there was some other method that was faster and got removed on 2.8+ and replaced with a “half backed” open subdiv implementation that was dragging edit mode performance down, there was also something to do with a fully triangulated mesh vs a quad based one (the former performing poorly on newer builds). Once they started testing normal edit mode operations that didn’t involve any of those two bottlenecks the difference between 2.79 and 2.8/9 became slim (but still not as good as 2.79, UNTIL these new patches started flooding in from all directions), I think that sums it all up.

Not sure: did 2.93 receive any patches in regards to mesh edit performance since 2.79?

As far as I am aware, it did not.

Yes, sub-d performance is a different matter altogether. Devs are working on that as well now I believe.

I don’t think so, all the performance patches were targeting 3.0 (They started the sprint when 2.93 was only accepting bug fixes late bcon3 I think).

That’s odd then. In my test 2.93 is far ahead of 2.79 even in base raw mesh editing performance. I mean it’s not even a comparison: almost a ten fold difference.

Perhaps the additional objects in the file are limiting 2.79? I should test with the wing object by itself.

https://developer.blender.org/D11337

Some tests in T88021: Edit-Mesh Performance Overview found this operation took about 40% of the overall time taken to update the mesh while transforming.

This patch is attempting to resolve one of the biggest bottleneck, and they haven’t managed to resolve it yet. Once it is in, I expect anther doubling of fps most likely…

3 Likes

I didn’t make any tests myself, ppl were comparing the different versions using the “Stanford dragon”, but there seemed to be two versions one with tries and one with quads and ppl were reporting slightly different results, in the latest @tomjk cube test 2.79 is performing similar to 2.93, but anyways what’s good is that now things are getting speedy (even for 2.93 LTS users as you have found).

Nope, just loaded the wing object in 2.79, and performance is actually worse now: 0.31fps.

2.79 is just much worse than 2.93.

I also tested an older 2.82 build of Blender to confirm: 0.29fps when I move a couple of thousand faces. Which means 2.82 indeed performed worse than 2.79!

Definitely something was improved between 2.82 and 2.93.

2.93’s mesh editing performance is already way improved compared to 2.82.

How interesting. This would explain why users were complaining about 2.8’s mesh edit performance compared to the older 2.79 version, but now we have to wonder out loud:

Why is it that no-one noticed the rather enormous jump in performance in 2.93 (or earlier)? In my test 2.93 is almost ten times faster for raw mesh editing.

PS I also tested LightWave Modeler 2020 for fun. About the same performance as 2.79. Meaning: slow as a turtle in molasses.

1 Like

This may be not true, but i seen some dev state that 2.79 and 2.8+ show fps numbers differently, thats why i believe fps is wrong metric. Never heard this again tho

Aside from the FPS numbers, I timed operations in various versions of Blender, C4D v23, and Lightwave Modeler.

The numbers are more or less correct, as far as I can tell. B2.79 is a tad faster than 2.82, 2.93 is much faster than 2.82 and 2.79 when moving thousands of polys around (just no comparison) in this ~2 million tris object.

And B3.0 alpha is yet another major jump in performance compared to 2.93. It feels 2-3 times faster.

All of which means that B3 in its current state is already around 15~20 times faster than B2.79 ever was.

And it seems we have more improvements to look forward to.

Rejoice. :star_struck:

6 Likes

Alright, I can confirm that 2.92 behaves much the same as 2.82. No discernible mesh editing speed-ups.

Which means that 2.93 must have had mesh editing performance improvements implemented. Was this mentioned in the release notes at all? Because it is, by itself, a rather important improvement!

From ~0.3fps to ~1.41fps is a drastic speed-up!!! It means that on my machine I can load 4.5 heavier meshes in 2.93 and still have the same mesh editing performance as in 2.92.

That’s big.

It also explains my confusion why B2.93 suddenly felt as fast as Cinema4D v23 - while last time I checked (few months ago) Cinema4D was plain faster while working on the same heavy mesh objects. (C4d implemented faster mesh editing a version or two ago)

Here I was thinking C4D had become inexplicably slower, while in fact Blender 2.93 is the one that improved the mesh editing performance by a factor of 4-5!

5 Likes

Great news. But, Cinema4D doesn’t have reputation for being fast either. I hope more to come.

Also from ppls tests it was showcased that in terms of raw performance 3DS MAX is ahead of everything else by a large margin (including Houdini and Maya), with the ongoing Blender speedups It would be interesting to revise that comparison if anyone have a copy of 3DS MAX, here is the original video comparison:

Here is a comparison of the latest version of Houdini with today’s Blender 3 Alpha build.

Houdini vs Blender 3alpha

To be fair, Houdini scales better with smaller selections: selecting the claw and sphere does update about twice as fast. At larger selections the difference becomes rather neglible for this particular mesh.

Selecting the entire mesh and dragging it around yields more or less a similar ‘feel’ and update speed between the two apps. Of course, things like undo and switching between vertex/edge/polygon modes is still quite a bit faster in Houdini.

That said, I am sure you will agree with me that this is a HUGE improvement.

If the devs are able to deliver more performance updates, Blender just might start outperforming Houdini here. Just might…

It seems to me, based on that video, that B 3 alpha already is way ahead of Maya in terms of mesh editing performance now. Although I can’t test for that.

As for Max? Still some ways to go.

16 Likes

More comprehensive testing, using the turbosquid scan dragon 2

as text
config results (fps) speedup factor
test auto smooth operation proportional verts selected 22/Mar/18 2.79b 09/Dec/20 2.83.10 02/Jun/21 2.93.0 11/Jun/21 20e…f16 14/Jun/21 90b…22d 24/Jun/21 cbd…939 26/Jun/21 b55…f5c 02/Jul/21 5f5…ac6 13/Jul/21 6a5…a03 6a5…a03 vs 2.79b 6a5…a03 vs 2.93.0 6a5…a03 vs 5f5…ac6
#1 off grab off one 0.82 1.29 1.10 2.52 2.58 3.10 3.06 3.08 5.13 x6.26 x4.66 x1.67
#2 off grab off random 0.83 1.24 1.10 2.35 2.45 2.91 2.89 2.89 4.73 x5.70 x4.30 x1.64
#3 off grab off all 0.82 1.27 1.08 1.45 1.68 1.86 2.86 2.94 4.85 x5.91 x4.49 x1.65
#4 off grab on one 0.80 1.25 1.07 2.32 2.37 2.83 2.79 2.92 4.74 x5.93 x4.43 x1.62
#5 off grab on random 0.79 1.20 1.07 1.17 1.52 1.68 1.81 1.85 2.48 x3.14 x2.32 x1.34
#6 off grab on all 0.82 1.26 1.08 1.44 1.66 1.86 2.86 2.89 4.85 x5.91 x4.49 x1.68
#7 off rotate off one 0.82 1.23 1.10 2.52 2.55 3.10 3.06 3.04 5.15 x6.28 x4.68 x1.69
#8 off rotate off random 0.82 1.23 1.10 2.30 2.44 2.94 2.88 2.90 4.73 x5.77 x4.30 x1.63
#9 off rotate off all 0.80 1.22 1.05 1.38 1.59 1.77 1.75 1.87 2.49 x3.11 x2.37 x1.33
#10 off rotate on one 0.75 1.11 1.00 2.01 2.04 2.37 2.35 2.83 4.62 x6.16 x4.62 x1.63
#11 off rotate on random 0.76 1.13 1.00 1.09 1.39 1.52 1.50 1.68 2.17 x2.86 x2.17 x1.29
#12 off rotate on all 0.79 1.21 1.03 1.36 1.55 1.73 1.72 1.86 2.48 x3.14 x2.41 x1.33
#13 on grab off one 0.59 0.67 0.69 1.09 1.09 1.16 1.15 1.17 1.37 x2.32 x1.99 x1.17
#14 on grab off random 0.60 0.67 0.70 1.04 1.07 1.14 1.13 1.14 1.35 x2.25 x1.93 x1.18
#15 on grab off all 0.60 0.67 0.68 0.82 0.89 0.93 1.12 1.15 1.35 x2.25 x1.99 x1.17
#16 on grab on one 0.58 0.66 0.68 1.04 1.06 1.12 1.12 1.13 1.34 x2.31 x1.97 x1.19
#17 on grab on random 0.58 0.66 0.68 0.73 0.85 0.88 0.92 0.93 1.06 x1.83 x1.56 x1.14
#18 on grab on all 0.60 0.68 0.68 0.82 0.89 0.93 1.12 1.14 1.35 x2.25 x1.99 x1.18
#19 on rotate off one 0.59 0.67 0.69 1.09 1.09 1.16 1.15 1.16 1.37 x2.32 x1.99 x1.18
#20 on rotate off random 0.60 0.67 0.69 1.04 1.07 1.14 1.13 1.14 1.34 x2.23 x1.94 x1.18
#21 on rotate off all 0.59 0.67 0.68 0.80 0.87 0.90 0.90 0.93 1.07 x1.81 x1.57 x1.15
#22 on rotate on one 0.56 0.64 0.65 0.98 0.99 1.04 1.04 1.12 1.33 x2.38 x2.05 x1.19
#23 on rotate on random 0.56 0.64 0.65 0.69 0.80 0.83 0.82 0.88 1.00 x1.79 x1.54 x1.14
#24 on rotate on all 0.58 0.66 0.67 0.79 0.86 0.89 0.89 0.93 1.07 x1.84 x1.60 x1.15
adj. x1.0 x1.0 x0.982 x0.982 x0.991 x0.991
results (seconds)
test 2.79b 2.83.10 2.93.0 20e…f16 90b…22d cbd…939 b55…f5c 5f5…ac6 6a5…a03
import 19.5 22 20 20 20 20 20 20 20
enter edit mode 3.5 2.5 4 3.5 3.5 3.5 3.5 3.5 4
select all from none 1 1 1 1 1 1 1 1.5 1.5

Linux Mint 20
Intel i7-6700K 4.00GHz x 4
NVidia Geforce RTX 2060 SUPER
input: Wacom graphics tablet

  • object: Turbosquid Scan Dragon 2 by oliverlaric – 1,189,576 verts
  • one vertex tests: selected vertex is 9-pole at front of right eyeball
  • random selection tests: select random with ratio 0.01 (1.0085% in 2.79-2.83), seed 1 – 11,895 verts
  • proportional influence size = 9.85
  • 2.79b has long delay at operation start when proportional editing and auto smooth on
  • fps capped at 60
  • Autosmooth angle: 30deg
  • Note: tests made on different days under varying weather conditions (temperature, humidity, etc.) New master tests are done in one session, then test #1 is repeated with 2.93. If that 2.93 result differs from the recorded result (1.10), the new master results are multiplied by old 2.92 / new 2.92. eg. 2.93 results is 1.12 fps: 1.12 / 1.10 = x0.982; master result was 3.12 fps, becomes 3.12 x 0.982 = 3.06 fps. This adjustment is made to tests #1 - #24, and the multiplier is shown beneath the results (row “adj.”)
  • Chart: x-axis = blender version, y-axis = fps, lines = results per test #1-24
7 Likes

That’s the battle Blender needs to win… hehehe…

2 Likes

yes, with soft selection enable…