string[] | The names of all evaluation manager modes (querying without flags) |
string[] | The names of all nodes involved in a cycle cluster with the selected one. |
boolean | The success of activating of deactivating manipulation (with the 'manipulation' flag) |
boolean | The manipulation active or inactive state (querying the 'manipulation' flag) |
boolean | The manipulation prevalidation active or inactive state (querying the 'manipulationPrevalidation' flag) |
boolean | The manipulation allowed or disallowed state (querying the 'manipulationReady' flag) |
boolean | The success of setting the evaluation manager mode (with the 'mode' flag) |
boolean | The success of setting the evaluation manager idle action (with the 'idleAction' flag) |
boolean | False if there are any nodes in the evaluation graph (with the 'empty' flag) |
Int | The Evaluation Manager idle action (querying with the 'idleAction' flag) |
boolean | Is the evaluation graph currently valid? (querying with the 'invalidate' flag) |
boolean | The success of setting the node type parallel scheduling mode (with the 'nodeTypeParallel' flag) |
boolean[] | The parallel scheduling states of specified node types (querying the 'nodeTypeParallel' flag with object(s)) |
string[] | The names of all node types in parallel scheduling mode (querying the 'nodeTypeParallel' flag alone) |
boolean | The success of setting the node type serialized mode (with the 'nodeTypeSerialize' flag) |
boolean[] | The serialized states of specified node types (querying the 'nodeTypeSerialize' flag with object(s)) |
string[] | The names of all node types in serial scheduling mode (querying the 'nodeTypeSerialize' flag alone) |
boolean | The success of setting the node type globally serialized mode (with the 'nodeTypeGloballySerialize' flag) |
boolean[] | The globally serialized states of specified node types (querying the 'nodeTypeGloballySerialize' flag with object(s)) |
string[] | The names of all node types in globally serialized scheduling mode (querying the 'nodeTypeGloballySerialize' flag alone) |
boolean | The success of setting the node type untrusted mode (with the 'nodeTypeUntrusted' flag) |
boolean[] | The untrusted of specified node types (querying the 'nodeTypeUntrusted' flag with object(s)) |
string[] | The names of all node types in untrusted scheduling mode (querying the 'nodeTypeUntrusted' flag alone) |
string | The evaluation manager mode (querying with the 'mode' flag) |
string[] | The names of all nodes immediately downstream/upstream of the named one(s) (with the 'upstreamFrom' or 'downstreamFrom' flags) |
string[] | The list of reasons the evaluation manager has been disabled (querying the 'disableInfo' flag) |
boolean | The state of fallback serial evaluation (querying the 'fallbackTriggered' flag) |
In query mode, return type is based on queried flag.
Long name (short name) |
Argument types |
Properties |
-cycleCluster(-ccl)
|
string
|
|
|
Returns a list of nodes that are stored together with the given one in
a cycle cluster. The list will be empty when the evaluation mode is not
active or the node is not in a cycle.
|
|
-disableInfo(-di)
|
string
|
|
|
Returns a list of strings that contain the reasons that the evaluation manager has
been disabled (as distinct from it being deliberately turned off, e.g. because an
unsupported node type or attribute value was encountered).
If the list is empty then the evaluation manager is operating normally.
|
|
-empty(-mt)
|
|
|
|
Valid in query mode only. Checks to see if the evaluation graph has any nodes in it.
This is independent of the current mode.
|
|
-enabled(-e)
|
|
|
|
Valid in query mode only. Checks to see if the evaluation manager is currently enabled.
This is independent of the current mode.
|
|
-fallbackTriggered(-ft)
|
boolean
|
|
|
Valid in query mode only. Checks to see if fallback serial evaluation has been triggered.
Will be true if errors during parallel execution have forced a fallback to serial mode.
Will reset to false if the mode is changed again after the fallback was triggered.
|
|
-idleAction(-ia)
|
int
|
|
|
This flag sets the actions EM will perform on idle. It accepts the following values:
- 0 - No action
- 1 - Graph Rebuild
- 2 - EM Manipulation Preparation
- 3 - Graph Rebuild and EM Manipulation Preparation
Where:
- Graph Rebuild will rebuild the evaluation graph on an idle event as soon
as it is able to do so.
- EM ManipulationPreparation will get the evaluation manager to perform all
the steps necessary for EM manipulation to be available after the next idle event.
Note: These idle actions only apply to the graph attached to the normal context.
All other graphs will be built according to their own rules.
The disadvantage of enabling idle actions is that for some workflows that are
changing the graph frequently, or very large graphs, the graph build and
manipulation preparation time may impact the workflow. If workflows are impacted
it is suggested to turn idle actions off by passing this flag a value of 0.
|
|
-idleBuild(-ib)
|
boolean
|
|
|
This flag is obsolete. Please use the -idleAction flag with a value of 1
in order to activate evaluation graph rebuild on idle.
|
|
-invalidate(-inv)
|
boolean
|
|
|
This flag invalidates the graph. Value is used to control auto rebuilding on idle (false) or forced (true).
This command should be used as a last resort.
In query mode it checks to see if the graph is valid.
|
|
-manipulation(-man)
|
boolean
|
|
|
This flag is used to activate evaluation manager manipulation support.
|
|
-manipulationPrevalidation(-mp)
|
boolean
|
|
|
This flag is used to activate evaluation manager manipulation prevalidation.
Prevalidation checks for known patterns in manipulation. In case of a
successful prevalidation, there is no need to use dirty propagation in the
first frame of manipulation to validate that EM manipulation can safely be used,
and fast manipulation can start right away.
|
|
-manipulationReady(-mr)
|
boolean
|
|
|
Valid in query mode only. Checks to see if the evaluation manager manipulation is currently ready/allowed.
This is independent of the current mode.
|
|
-mode(-m)
|
string
|
|
|
Changes the current evaluation mode in the evaluation manager. Supported values are
"off", "serial" and "parallel".
|
|
-downstreamFrom(-dst)
|
string
|
|
|
Find the DG nodes that are immediately downstream of the named one in
the evaluation graph. Note that the connectivity is via evaluation mode
connections, not DG connections.
In query mode the graph is walked and any nodes downstream of the named
one are returned. The return type is alternating pairs of values that
represent the graph level and the node name, e.g. if you walk downstream
from A in the graph A -> B -> C then the return will be the array of
strings ("0","A","1","B","2","C"). Scripts can deconstruct this
information into something more visually recognizable. Note that cycles
are likely to be present so any such scripts would have to handle them.
In query mode, this flag needs a value.
|
|
-nodeTypeGloballySerialize(-ntg)
|
boolean
|
|
|
This flag is used only when the evaluation manager is in "parallel" mode
but can be set at anytime. It activates or deactivates the override to force
global serial scheduling for the class name argument(s) in the evaluation manager.
Legal object values are class type names: e.g. "transform", "skinCluster", "mesh".
When queried without specified nodes, it returns the list of nodes with the
global serial scheduling override active.
Scheduling overrides take precedence over all of the node and node type
scheduling rules. Use with caution; certain nodes may not react well to
alternative scheduling types.
|
|
-nodeTypeParallel(-ntp)
|
boolean
|
|
|
This flag is used only when the evaluation manager is in "parallel" mode
but can be set at anytime. It activates or deactivates the override to force
parallel scheduling for the class name argument(s) in the evaluation manager.
Legal object values are class type names: e.g. "transform", "skinCluster", "mesh".
When queried without specified nodes, it returns the list of nodes with the
parallel scheduling override active.
Scheduling overrides take precedence over all of the node and node type
scheduling rules. Use with caution; certain nodes may not react well to
alternative scheduling types.
|
|
-nodeTypeSerialize(-nts)
|
boolean
|
|
|
This flag is used only when the evaluation manager is in "parallel" mode
but can be set at anytime. It activates or deactivates the override to force
local serial scheduling for the class name argument(s) in the evaluation manager.
Legal object values are class type names: e.g. "transform", "skinCluster", "mesh".
When queried without specified nodes, it returns the list of nodes with the
local serial scheduling override active.
Scheduling overrides take precedence over all of the node and node type
scheduling rules. Use with caution; certain nodes may not react well to
alternative scheduling types.
|
|
-nodeTypeUntrusted(-ntu)
|
boolean
|
|
|
This flag is used only when the evaluation manager is in "parallel" mode
but can be set at anytime. It activates or deactivates the override to force
untrusted scheduling for the class name argument(s) in the evaluation manager.
Legal object values are class type names: e.g. "transform", "skinCluster", "mesh".
When queried without specified nodes, it returns the list of nodes with the
untrusted scheduling override active.
Scheduling overrides take precedence over all of the node and node type
scheduling rules. Use with caution; certain nodes may not react well to
alternative scheduling types.
Untrusted scheduling will allow nodes to be evaluated in a critical section,
separately from any other node evaluation. It should be used only as a last resort
since the lost parallelism caused by untrusted nodes can greatly reduce performance.
|
|
-upstreamFrom(-ust)
|
string
|
|
|
Find the DG nodes that are immediately upstream of the named one in
the evaluation graph. Note that the connectivity is via evaluation mode
connections, not DG connections.
In query mode the graph is walked and any nodes upstream of the named
one are returned. The return type is alternating pairs of values that
represent the graph level and the node name, e.g. if you walk upstream
from C in the graph A -> B -> C then the return will be the array of
strings ("0","C","1","B","2","A"). Scripts can deconstruct this
information into something more visually recognizable. Note that cycles
are likely to be present so any such scripts would have to handle them.
In query mode, this flag needs a value.
|
|
-safeMode(-sfm)
|
boolean
|
|
|
This flag activates/deactivates parallel evaluation safe mode. When
enabled, parallel execution will fall back to serial when evaluation
graph is missing dependencies. Detection is happening on scheduling
of parallel evaluation, which means potential fallback will happen at
the next evaluation.
WARNING: This mode should be disabled with extreme caution. It will
prevent parallel mode from falling back to serial mode when an invalid
evaluation is detected. Sometimes the evaluation will still work
correctly in those situations and use of this flag will keep the peak
parallel performance running. However since the safe mode is used to
catch invalid evaluation disabling it may also cause problems with
evaluation, anything from invalid values, missing evaluation, or even
crashes.
|
|