tyFlow has controls which allow you to tune CPU usage.
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).
These settings are universal to all flows and are sticky settings (their values are stored in 3dsMax.ini, instead of the scene file)
Un-pinned threads can be moved from processor-to-processor by Windows’ thread scheduler, which can cause drastic performance loss in some situations. This setting can usually be turned on, unless your machine is configured in a way that would benefit from full thread mobility.
The use of threading hints is a legacy system implemented in tyFlow’s original thread pool - it was used to estimate whether or not a task would run faster on fewer cores, depending on the simplicity of the task. More recent improvements in CPU/RAM efficiency, as well as the ability for tyFlow to pin threads (see above), have made the hinting system less useful - users may even see a measurable performance improvement with it disabled. The option to re-enable it has been added in case a user is on a machine where it still provides a performance benefit. Users will have to individually test their own systems to see if it provides a performance improvement, but in many cases it’s a setting that can be kept disabled.
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.