AWS Thinkbox Discussion Forums

Performance

I need to churn about 8 million particles for 4500 frames. How many seconds per frame would you wager a stoke field would take to process that many particles? Also can a stoke vectorfield be parented (to a camera in this instance)? PFlow’s forces are letting me down in a huge way.

I decided to run a quick test emitting 8 million particles off the surface of a Sphere on frame 0, and then simulating them for 10 frames to get an idea of the performance. Note that this was a 6 years old i7 QuadCore with 12 GB of RAM, nothing fancy.

I used a simple Wind Force with Turbulence, the type of field used can have an effect on the performance - e.g. FumeFX would be slower as we would have to also read the FXD data as part of the process.

Here is the Log for these 10 frames of 8 million particles:

--Asynchronous Saving During Simulation Using 4 Threads On 8 Cores. --Save Channel Map: --Position float32[3] --Velocity float16[3] --ID int64[1] --Age float16[1] --LifeSpan float16[1] --Generate Time: 7.203 sec. --Advect Time: 66.212 sec. --Update Time: 0.0 sec. --Delete Time: 0.0 sec. --Overhead Time: 4.364 sec. --TOTAL Stoke Time: 77.779 sec. --Flushing Cache Using 7 Threads On 8 Cores. --ASYNC DISK CACHE FINISHED SAVING IN 16.383 SECONDS.

What this means is that 4 threads were used to save PRT files to disk. I had a 4 GB cache set up, but only about half of it was actually used in this case. All 8 cores were potentially used for simulation. Once the simulation finished (7 seconds to generate 8 million particles, 66 seconds to advect them over 10 frames, 4 seconds of overhead, about 78 seconds in total), the rest of the cache was flushed using 7 threads (7 PRT files written in parallel) in order to finalize the output on disk. That took 16 additional seconds.

I am confident your machine is better than mine, but assuming it is the same, using this simple setup would take 450x longer, or about 8 hours and 15 minutes.

The custom Stoke fields are generally in world space. However, it would be possible to set up a Magma that transforms data into a different space.

What kind of forces are you using?

I ended up plowing it through Max’s native forces, specifically blurwind and a gaggle of vortexes working against each other to create a sort of turbulent but also somewhat advection-y movement. Total time for 4500 frames was around 18 hours to a DiskCache so not that much worse.

I would like to play with this after this project though to use a real advection driven field from stoke/Fume to drive the animation instead of the max fields.

I also did create a very clever solution to re-renders and sim-changes and that was to do a local position ‘looping’ Modulus function in Box3. That way I simulated it in one position statically and was able to “fly through it” infinitely in every direction.

Privacy | Site terms | Cookie preferences