Despite the multi-threaded nature of tyFlow, a complex flow can still take a long time to simulate. To help troubleshoot why a simulation is taking so long, you can turn on tyFlow’s simulation profiler by enabling “Print simulation details” within a tyFlow object’s “Debugging” rollout. The profiler will print the total execution time for each step of the simulation to the MAXScript listener, allowing you to quickly identify simulation bottlenecks. More information about using the profiler can be found here.
This question is scene-specific, but some general guidelines can be used to optimize every flow:
Keep simulation time steps as low as possible. Only increase time steps when more simulation accuracy is required.
Keep input geometry as low-res as possible. Even though tyFlow can handle hi-res input geometry with relative ease, a lot of time may still be wasted parsing unnecessarily hi-res meshes.
Setup your flows with lower particle counts, only increasing the number of particles when you’re ready to export/render.
Use Birth Flow operators to chain multiple flows together, allowing for some flows to generate the initial state of the simulation (requiring only one computation of that state), while other flows (that are continually updated) work from that initial state.
Use PRT partitions to export huge numbers of particles into multiple passes simultaneously, across multiple machines, rather than trying to export all particles at once.
First, ensure that tyFlow isn’t simply running out of available RAM. Run the simulation again, and check the amount of memory that 3ds Max uses with the Windows Task Manager. If 3ds Max gets to the point where it is using all of your available RAM, this can lead to system instability. The easiest way to decrease the amount of RAM that a tyFlow simulation requires, is to disable tyFlow caching. Be aware that if you disable caching, the simulation must be recomputed from scratch each time you wish to play it back.
However, if the crash is not caused by a lack of available RAM, information about what to do if you run into such a bug can be found here.