Navigation
API > API/Runtime > API/Runtime/MassEntity
A single processor managed by the processing queue.
| Name | FQueuedProcessor |
| Type | struct |
| Header File | /Engine/Source/Runtime/MassEntity/Public/MassProcessingQueueTypes.h |
| Include Path | #include "MassProcessingQueueTypes.h" |
Syntax
struct FQueuedProcessor
Constructors
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
FQueuedProcessor
(
TNotNull< UMassProcessor* > InProcessor |
MassProcessingQueueTypes.h |
Enums
Public
| Name | Remarks |
|---|---|
| EState |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| bAggregateRequirements | bool | Aggregate all data access requirements of the processor and queries to all queries and the processor itself Useful for emulating the legacy processor behavior. | MassProcessingQueueTypes.h | |
| bAggregateThreadRequirements | bool | If the processor or any query requires game thread execution, then aggregate that requirement to all queries and the processor itself. | MassProcessingQueueTypes.h | |
| bRequiresGameThread | bool | MassProcessingQueueTypes.h | ||
| ChunkQueue | TArray< FQueuedChunk > | Chunks that could not be executed immediately during the query and were queued. | MassProcessingQueueTypes.h | |
| ChunkQueueAccessDetector | FRWAccessDetector | Multithreading access detector to ensure ChunkQueue is not altered concurrently | MassProcessingQueueTypes.h | |
| ContentionIndex | int32 | Contention table index for this processor (does not include query requirements) | MassProcessingQueueTypes.h | |
| CurrentQueryIndex | int32 | MassProcessingQueueTypes.h | ||
| DataAccess | FDataAccess | MassProcessingQueueTypes.h | ||
| DependencyCount | int32 | Total explicit dependency count (ExecuteBefore/ExecuteAfter) | MassProcessingQueueTypes.h | |
| DependentProcessorIndices | TArray< int32, TInlineAllocator< 8 > > | Indices of items that depend explicitly on this processor (within the FProcessingQueue's processor array) | MassProcessingQueueTypes.h | |
| DispatchedChunkTasks | TArray< UE::Tasks::FTask > | Async chunk tasks dispatched during the current query | MassProcessingQueueTypes.h | |
| GraphDepth | int32 | The length of the longest dependency chain starting from this processor. | MassProcessingQueueTypes.h | |
| PendingChunkIndices | TArray< int32 > | List of indices into ChunkQueue that have not been processed yet. | MassProcessingQueueTypes.h | |
| Processor | TNotNull< UMassProcessor * > | MassProcessingQueueTypes.h | ||
| QueryCount | int32 | Queries will follow te owning processor in the contention table, count is used to get the correct index | MassProcessingQueueTypes.h | |
| QueryInfos | TArray< FQueryInfo > | MassProcessingQueueTypes.h | ||
| RemainingDependencyCount | std::atomic< int32 > | Explicit dependencies remaining (ExecuteBefore/ExecuteAfter) | MassProcessingQueueTypes.h | |
| State | EState | Current state in the execution pipeline | MassProcessingQueueTypes.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
const FQueryInfo & GetCurrentQueryInfo() |
MassProcessingQueueTypes.h | ||
void InitChunkWriteContention
(
FContentionMatrix& ContentionMatrix, |
MassProcessingQueueTypes.h | ||
void InitCrossChunkWriteContention
(
FContentionMatrix& ContentionMatrix, |
MassProcessingQueueTypes.h | ||
void InitForceInlineContention
(
FContentionMatrix& ContentionMatrix, |
Force-inline mode: aggregate every conflict type (subsystem, direct & indirect fragment, processor-level and query-level entity creation, cross-query archetype matching) onto the processor-level ContentionIndex. | MassProcessingQueueTypes.h | |
void InitThreadRequirement() |
MassProcessingQueueTypes.h | ||
void InitWriteContention
(
FContentionMatrix& ContentionMatrix, |
MassProcessingQueueTypes.h | ||
void InitWriteContention
(
FContentionMatrix& ContentionMatrix, |
MassProcessingQueueTypes.h | ||
void PrepareForExecute() |
MassProcessingQueueTypes.h | ||
void SetCurrentQuery
(
const FMassEntityQuery* SourceQuery |
MassProcessingQueueTypes.h |