Multithreading: Where is Blender slow?

That’s absolutely not true, specially when we talk about physics simulation.

You can take Mantaflow as an example, or STORM, an specialised simulation software that is faster than Houdini in some solvers but tackles as complex scenes as Houdini, or Houdini itself.

Not everything can be parallelised, and when it can be parallelised, it’s not always faster.

Those are bold assumptions, for example, I have two main workstations:

1.- i7-5960X - 8 cores - 16 threads
2.- TR-2990WX - 32 cores - 64 threads

Mantaflow was even a bit slower in the TR than in the i7, it’s parallelisation was not goo to many-core CPU’s, after TBB was added it was improved, but while the improvement is there, the TR is not SUPER faster than the i7, with render it is, with sims, it is not.

The same goes for STORM, the author itself says that more than 10 cores will provide little improvement, and this happens also with Houdini and some solvers, it all depends.

The bathroom example is a bold but a good one.

Sometimes, some things are faster in single core, some times multithread can bring to the table just about a 10% of improvement for example, even rendering, which is the ideal for parallelisation, don’t have a 100% improvement when you stack CPU’s or GPU’s on it.

So, no, not everything can be parallelised, and not everything is parallelised, not in Houdini, not in Max, not in Maya and not in Blender, and no, multithreading is not always the performant solution, in fact sometimes it can generate a bigger bottleneck and make it even slower.

Regarding the cloth sim, if @LucaRood said it cannot be improved with threading, or it’s not worth the effort because it won’t bring much performance to the table, I’m with him, he knows what he speaks about.
If a new algo is required, it will have a warm welcome when it’s done, and then it will be state of the art.

2 Likes

… and the VSE Scene strips(referencing the lightning fast eevee rendering in the 3d view) have very poor playback rates.

1 Like

HI all, one more small change with rigid bodies: :gear: D11957 Small change to speedup adding rigid bodies (blender.org) which helps in the setup process. I was also looking at another modifier change, but that seems a bit more involved. Please keep the suggestions coming.

7 Likes

For the life of me I can’t seem to reproduce any slowness here. Is it possible for you to construct a scene for me to profile and look at?

Are you after a Scene strip in use to test? There is one file with a scene strip here among these VSE examples: Video Sequence Editor - News & Add-ons - #186 by tin2tin - Blender Development Discussion - Blender Artists Community
image

You can try to higher the render frame rate if you get the same frame rates in the Sequencer and in the 3D View(switch the scene). In Sequencer scene, in the Sequencer Preview sidebar you can also change Shading.

Some lower hanging fruits might be effect strips like Glow which aren’t multithreaded(Menu>Add>Movie. Select the strip. Menu>Add>Effect>Glow).

I’ll take a look, thank you!

for real i thinks all task need a lot of power need to be move on the multithreading section like :

  • Cloths (Sim)
  • Rigid / Soft Body (Sim)
  • Mantaflow (Sim) (need new solvers)
  • Boolean
  • Particle system
  • Decimate Modifier
  • Subd Modifier
  • Triangulate Modifier (Btw add the tetrahedral topology increase performance for solving in animation and simulation is a good way ! Don’t neglige it this topology)

and i thinks some task need only 1 thread than all… but i’ll suggest to make some test and put multi-threadin where is needed :slight_smile: and for the rest write a new algo
and a little things but not immediatly needed…

2 Likes

Hi , i have a very beginner request , sculpting with blender is super powerful but there is a problem , sculpting with voxels is too much memory hungry , and it quadrupling the amount of memory needed each time we remesh , there is a software out there named “3d co@t” ( idk if i’m allowed to say the other softwares names here but i didn’t anyways ) which manages to handle voxels with alot less memory and uses all of cpu cores to calculate what it needs to be done , is there any chance that blender devs try to improve blender sculpting by managing the hardware ? i mean maybe using a different engine ( in terms of calculations ) for sculpting with voxels ?

This shouldn’t become a thread for feature requests, especially not a year after the last post

For feature requests, please use rightclickselect.com.