#include <MassProcessorDependencySolver.h>
◆ FMassProcessorDependencySolver()
◆ BuildDependencies()
| void FMassProcessorDependencySolver::BuildDependencies |
( |
| ) |
|
|
protected |
◆ CreateNodes()
◆ CreateSubGroupNames()
| void FMassProcessorDependencySolver::CreateSubGroupNames |
( |
FName |
InGroupName, |
|
|
TArray< FString > & |
SubGroupNames |
|
) |
| |
|
static |
◆ GatherSubsystemInformation()
Finds out which subsystems handle multithreaded RW operations, and caches the result in MultiThreadedSystemsBitSet
◆ IsResultUpToDate()
Determines whether the dependency solving that produced InResult will produce different results if run with a given EntityManager
◆ IsSolvingForSingleThread()
| bool FMassProcessorDependencySolver::IsSolvingForSingleThread |
( |
| ) |
const |
|
inline |
◆ LogNode()
| void FMassProcessorDependencySolver::LogNode |
( |
const FNode & |
Node, |
|
|
int |
Indent = 0 |
|
) |
| |
|
protected |
◆ PerformSolverStep()
| bool FMassProcessorDependencySolver::PerformSolverStep |
( |
FResourceUsage & |
ResourceUsage, |
|
|
TArray< int32 > & |
InOutIndicesRemaining, |
|
|
TArray< int32 > & |
OutNodeIndices |
|
) |
| |
|
protected |
Traverses InOutIndicesRemaining in search of the first RootNode's node that has no dependencies left. Once found the node's index gets added to OutNodeIndices, removed from dependency lists from all other nodes and the function quits.
- Returns
- 'true' if a dependency-less node has been found and added to OutNodeIndices; 'false' otherwise.
◆ ResolveDependencies()
◆ Solve()
◆ AllNodes
◆ bGameRuntime
| const bool FMassProcessorDependencySolver::bGameRuntime = true |
|
protected |
◆ bSingleThreadTarget
indicates whether we're generating processor order to be run in single-threaded or multithreaded environment (usually this means Dedicated Server vs Any other configuration). In Single-Threaded mode we can skip a bunch of expensive, fine-tuning tests. @Note currently the value depends on MASS_DO_PARALLEL and there's no way to configure it otherwise, but there's nothing inherently stopping us from letting users configure it.
◆ DependencyGraphFileName
| FString FMassProcessorDependencySolver::DependencyGraphFileName |
|
protected |
◆ MultiThreadedSystemsBitSet
Stores the subsystems we know of that handle multithreaded access well - we filter those out, we don't need to consider them.
◆ NodeIndexMap
◆ Processors
The documentation for this struct was generated from the following files: