grains ram usage
#1
Is there a possibility to reduce grain sim ram usage?    


im doing some fiddling based on the test scene, and when i crank up the detail (reduce voxel size) the ram usage goes through the roof.    

ive just got the torus object enabled.   the scene defaults are more like a pile of marbles, and im trying to get closer to wet sand (playing with clustering) 

however reducing the voxel size from 2 to 0.5 is the best i can manage.. it uses all of my 64 GB ram.    its still too low res to be convincing, even as a fairly small sand patch. 




not having done a direct comparison i cannot say for sure, but it seems that tyflow uses MUCH more ram to sim than the tests i did in houdini a year or so ago... 

i remeber in houdini there was also a  trick to "upres" the sim.. something like replacing each grain with a small cluster of grains, which helped a bit... i guess i could do similar here...  

any other tricks to reduce ram usage, or plans for future improvements in this area?   

thanks!
  Reply
#2
tyFlow has upresing abilities....specifically the "Particle Force" operator used on a reference flow. Have your reference flow a lower res, then set the "Particle Force" radius to roughly 75% of the reference flow's radius with about 50% falloff, and your higher-res grains should follow the linear/angular velocities within their falloff radii nicely.

As for RAM usage....maybe if you post a screencap of your flow I can see if anything incorrect stands out.....but tyFlow does try and keep RAM minimal. Some extra bookkeeping is required for bindings that can increase RAM if you have millions of particles. Also if you're trying to cache huge amounts of particles over a large time frame....the memory required to store the cached data per frame can get eaten up quick, with no potential for reduction. If you check this page I offered some explanations:

http://docs.tyflow.com/tyflow_particles/object/cache/
  Reply
#3
thanks for the reply Tyson. i shall look into the Particle force operator and see what i can do with it!

regarding my flow, its literally your demo grains scene with all but the torus knot deleted, then a cluster operator set to voronoi to give some "chunkiness" to the sim.

ive got caching disabled, the ram usage i was discussing is just to initialise the particles on the first frame.
  Reply
#4
ive now found out the particle count in my scene, its currently at around 2.6 million grains. i think i probably had it up to around 5-6 million before i ran out of ram.

out of interest your test on instagram with the guy swimming in sand.. 8 million grains.. (im surprised, looks like more) i assume with clustering and other tweaks... how much ram did you use to sim / render that?
  Reply
#5
64 gb to initialize particles on the first frame for 2.5m particles seems wrong....I'll test on my machine here and get back to you.
  Reply
#6
Hey, so I tested the scene with voxel size set to 0.5 and on my machine it uses a max of 35-40 gigs of RAM. At voxel size of 0.5 with just the torus, @0.5 it generates 10million particles....so this result in terms of RAM usage and particle count roughly matches the instagram test I did. Is it possible you actually typed in something lower than 0.5? Since voxels are 3 dimensional and changes to their size has cubic implications, even a small change can (from 0.5 to 0.4, for examples) can have huge implications and will potentially add millions of particles.
  Reply


Forum Jump: