CPU Settings Rollout

tyFlow has controls which allow you to tune CPU usage.


Multi-threading (this flow)

These settings are specific to the selected flow object.

  • Auto: allows tyFlow to determine the maximum number of threads to use to evaluate the simulation (defaults to max. available)

  • Threads: provides manual control over the maximum number of CPU threads the flow can use to evaluate the simulation.

Setting thread count to a particular value doesn’t mean that number of threads will be used for every operation, only that tyFlow may not exceed that particular number of threads for a given operation. Some operations benefit from more threads and some with less, and tyFlow makes internal determinations regarding the actual number of threads to use on a per-algorithm basis (with the only constraint being the maximum value provided by the user here).

Multi-threading (all flows)

These settings are universal to all flows and are sticky settings (their values are stored in 3dsMax.ini, instead of the scene file)

  • Pin threads: controls whether threads launched by tyFlow’s internal thread pool will be pinned to a particular processor.

Certain CPU architectures, when utilized by Windows’ thread scheduler, suffer performance issues in tyFlow when threads are not pinned. Historically, this has been the case with AMD Ryzen Threadripper CPUs. If you are using a Threadripper, enabling “pin threads” is recommended. This keeps each tyFlow thread locked to a CPU core (Threadrippers seem to suffer from performance issues in tyFlow when threads are mobile - enabling “pin threads” restores expected performance).

  • Use threading hints: controls whether tyFlow’s internal thread pool will use a hinting system to determine how many threads to allocate to each threaded function.

Disabling threading hints can have a negative impact on simulation performance. However, some users have reported a positive impact on performance on certain CPUs when hints are disabled. If you modify this setting, make sure you profile the impact of the change on your specific hardware configuration.

  • High thread priority: when enabled, threads spawned by tyFlow’s thread pool will have a high priority (Windows will prioritize them over other threads running).

  • Reserved processors: controls how many processors are reserved for other threads running on the system. Increasing this value is equivalent to decreasing the max thread value of a flow, with the difference being that this setting is a sticky, universal setting and doesn’t need to be set on a per-flow basis.