Raise the particle Limit of 10.000.000?

Blender 2.8 imposes a limit of 10.000.000 particles on the user. According to https://developer.blender.org/diffusion/B/browse/master/source/blender/makesrna/intern/rna_particle.c$2825 the limit is in place because particles take up a lot of resources:

/* This limit is for those freaks who have the machine power to handle it. /
10M particles take around 2.2 Gb of memory / disk space in saved file and /
each cached frame takes around 0.5 Gb of memory / disk space depending on cache mode. */

While particles in Blender are indeed a resource hog, 10 Million is still kinda limiting for those with better hardware. And the limit was higher in 2.79: https://www.youtube.com/watch?v=ygUev6Ecl4M

I suggest raising the limit to 100.000.000


Minor correction, its 6x 2mil actually, 2.79 has the same 10mil per system, so to get around that I just used multiple particle systems.
As much as I like to do silly simulations I’m not 100% sure what the purpose of more would be, SPH particles with higher amounts would wreck the RAM.
The 12mil one actually used a lot more then my 16GB and I think in total wrote about 4TB in pagefile data (Total Host Writes).

That said, I would still be for an increase, it wouldn’t actually hurt anybody and for the few use cases it could save some time.
Untested, but it would have probably taken a lot less RAM and storage for that 12mil simulation if it were one particle system and not 6 which each interact with each other.

1 Like

I compiled Blender myself and raised the limit to test how well 2.8 handles huge amounts of particles. Here is a scene with 20mio in the viewport - Blender 2.8 is just so much more powerful: https://twitter.com/BlenderDiplom/status/1138847617713094656

Edit: I now see another limitation - I tried the scene with icospheres for the particles and the scene stats say there are only 16.363.640 objects - so I have more particles than Blender can handle objects… Maybe 16.000.000 would be a good limit for the number of particles?

1 Like

I have created a simple diff for Blender 2.8 that raises the limits to 1M (soft) and 16M (hard): https://developer.blender.org/D5120