UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
TaskGraph.cpp File Reference

Classes

struct  FChaosMode
 
struct  FChaosMode::FState
 
class  FTaskThreadBase
 
class  FNamedTaskThread
 
class  FTaskThreadAnyThread
 
struct  FWorkerThread
 
class  FTaskGraphCompatibilityImplementation
 
class  FBroadcastTask
 

Namespaces

namespace  ENamedThreads
 

Macros

#define CREATE_HIPRI_TASK_THREADS   (0)
 
#define CREATE_BACKGROUND_TASK_THREADS   (0)
 
#define YIELD_BETWEEN_TASKS   0
 
#define PROFILE_TASKGRAPH   (0)
 
#define TASKGRAPH_SCOPE_CYCLE_COUNTER(Index, Name)
 

Functions

 DEFINE_LOG_CATEGORY_STATIC (LogTaskGraph, Log, All)
 
 DEFINE_STAT (STAT_FReturnGraphTask)
 
 DEFINE_STAT (STAT_FTriggerEventGraphTask)
 
 DEFINE_STAT (STAT_ParallelFor)
 
 DEFINE_STAT (STAT_ParallelForTask)
 
TArray< TaskTrace::FIdGetTraceIds (const FGraphEventArray &Tasks)
 
FORCEINLINE void TestRandomizedThreads ()
 
FGraphEventImplAllocatorGetGraphEventImplAllocator ()
 
 DECLARE_CYCLE_STAT (TEXT("FBroadcastTask"), STAT_FBroadcastTask, STATGROUP_TaskGraphTasks)
 
int32 WaitForAnyTaskCompleted (const FGraphEventArray &GraphEvents, FTimespan Timeout)
 
FGraphEventRef AnyTaskCompleted (const FGraphEventArray &GraphEvents)
 

Variables

CORE_API int32 ENamedThreads::bHasBackgroundThreads = CREATE_BACKGROUND_TASK_THREADS
 
CORE_API int32 ENamedThreads::bHasHighPriorityThreads = CREATE_HIPRI_TASK_THREADS
 
CORE_API bool GRenderThreadPollingOn = false
 
CORE_API int32 GRenderThreadPollPeriodMs = -1
 
CORE_API bool GAllowTaskGraphForkMultithreading = true
 
CORE_API bool GTaskGraphUseDynamicPrioritization = 1
 
CORE_API float GTaskGraphOversubscriptionRatio = 2.0f
 
CORE_API bool GTaskGraphUseDynamicThreadCreation = (PLATFORM_DESKTOP == 1)
 
CORE_API int32 GNumForegroundWorkers = 2
 

Macro Definition Documentation

◆ CREATE_BACKGROUND_TASK_THREADS

#define CREATE_BACKGROUND_TASK_THREADS   (0)

◆ CREATE_HIPRI_TASK_THREADS

#define CREATE_HIPRI_TASK_THREADS   (0)

◆ PROFILE_TASKGRAPH

#define PROFILE_TASKGRAPH   (0)

◆ TASKGRAPH_SCOPE_CYCLE_COUNTER

#define TASKGRAPH_SCOPE_CYCLE_COUNTER (   Index,
  Name 
)

◆ YIELD_BETWEEN_TASKS

#define YIELD_BETWEEN_TASKS   0

Function Documentation

◆ AnyTaskCompleted()

FGraphEventRef AnyTaskCompleted ( const FGraphEventArray GraphEvents)

◆ DECLARE_CYCLE_STAT()

DECLARE_CYCLE_STAT ( TEXT("FBroadcastTask")  ,
STAT_FBroadcastTask  ,
STATGROUP_TaskGraphTasks   
)

◆ DEFINE_LOG_CATEGORY_STATIC()

DEFINE_LOG_CATEGORY_STATIC ( LogTaskGraph  ,
Log  ,
All   
)

◆ DEFINE_STAT() [1/4]

DEFINE_STAT ( STAT_FReturnGraphTask  )

◆ DEFINE_STAT() [2/4]

DEFINE_STAT ( STAT_FTriggerEventGraphTask  )

◆ DEFINE_STAT() [3/4]

DEFINE_STAT ( STAT_ParallelFor  )

◆ DEFINE_STAT() [4/4]

DEFINE_STAT ( STAT_ParallelForTask  )

◆ GetGraphEventImplAllocator()

FGraphEventImplAllocator & GetGraphEventImplAllocator ( )

◆ GetTraceIds()

TArray< TaskTrace::FId > GetTraceIds ( const FGraphEventArray Tasks)

returns trace IDs of given tasks

◆ TestRandomizedThreads()

FORCEINLINE void TestRandomizedThreads ( )

◆ WaitForAnyTaskCompleted()

int32 WaitForAnyTaskCompleted ( const FGraphEventArray GraphEvents,
FTimespan  Timeout 
)

Variable Documentation

◆ GAllowTaskGraphForkMultithreading

CORE_API bool GAllowTaskGraphForkMultithreading = true

◆ GNumForegroundWorkers

CORE_API int32 GNumForegroundWorkers = 2

◆ GRenderThreadPollingOn

CORE_API bool GRenderThreadPollingOn = false

RT Task Graph polling.

◆ GRenderThreadPollPeriodMs

CORE_API int32 GRenderThreadPollPeriodMs = -1

◆ GTaskGraphOversubscriptionRatio

CORE_API float GTaskGraphOversubscriptionRatio = 2.0f

◆ GTaskGraphUseDynamicPrioritization

CORE_API bool GTaskGraphUseDynamicPrioritization = 1

◆ GTaskGraphUseDynamicThreadCreation

CORE_API bool GTaskGraphUseDynamicThreadCreation = (PLATFORM_DESKTOP == 1)