UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
ENamedThreads Namespace Reference

Classes

struct  FRenderThreadStatics
 

Enumerations

enum  Type : int32 {
  UnusedAnchor = -1 , RHIThread , GameThread , ActualRenderingThread = GameThread + 1 ,
  AnyThread = 0xff , MainQueue = 0x000 , LocalQueue = 0x100 , NumQueues = 2 ,
  ThreadIndexMask = 0xff , QueueIndexMask = 0x100 , QueueIndexShift = 8 , NormalTaskPriority = 0x000 ,
  HighTaskPriority = 0x200 , NumTaskPriorities = 2 , TaskPriorityMask = 0x200 , TaskPriorityShift = 9 ,
  NormalThreadPriority = 0x000 , HighThreadPriority = 0x400 , BackgroundThreadPriority = 0x800 , NumThreadPriorities = 3 ,
  ThreadPriorityMask = 0xC00 , ThreadPriorityShift = 10 , GameThread_Local = GameThread | LocalQueue , ActualRenderingThread_Local = ActualRenderingThread | LocalQueue ,
  AnyHiPriThreadNormalTask = AnyThread | HighThreadPriority | NormalTaskPriority , AnyHiPriThreadHiPriTask = AnyThread | HighThreadPriority | HighTaskPriority , AnyNormalThreadNormalTask = AnyThread | NormalThreadPriority | NormalTaskPriority , AnyNormalThreadHiPriTask = AnyThread | NormalThreadPriority | HighTaskPriority ,
  AnyBackgroundThreadNormalTask = AnyThread | BackgroundThreadPriority | NormalTaskPriority , AnyBackgroundHiPriTask = AnyThread | BackgroundThreadPriority | HighTaskPriority
}
 

Functions

UE_FORCEINLINE_HINT Type GetRenderThread ()
 
UE_FORCEINLINE_HINT Type GetRenderThread_Local ()
 
UE_FORCEINLINE_HINT void SetRenderThread (Type Thread)
 
UE_FORCEINLINE_HINT void SetRenderThread_Local (Type Thread)
 
UE_FORCEINLINE_HINT Type GetThreadIndex (Type ThreadAndIndex)
 
UE_FORCEINLINE_HINT int32 GetQueueIndex (Type ThreadAndIndex)
 
UE_FORCEINLINE_HINT int32 GetTaskPriority (Type ThreadAndIndex)
 
int32 GetThreadPriorityIndex (Type ThreadAndIndex)
 
Type SetPriorities (Type ThreadAndIndex, Type ThreadPriority, Type TaskPriority)
 
Type SetPriorities (Type ThreadAndIndex, int32 PriorityIndex, bool bHiPri)
 
Type SetThreadPriority (Type ThreadAndIndex, Type ThreadPriority)
 
Type SetTaskPriority (Type ThreadAndIndex, Type TaskPriority)
 

Variables

CORE_API int32 bHasBackgroundThreads = CREATE_BACKGROUND_TASK_THREADS
 
CORE_API int32 bHasHighPriorityThreads = CREATE_HIPRI_TASK_THREADS
 

Detailed Description

Forward declaration for ENamedThreads

Enumeration Type Documentation

◆ Type

Enumerator
UnusedAnchor 
RHIThread 

The always-present, named threads are listed next

GameThread 
ActualRenderingThread 
AnyThread 

not actually a thread index. Means "Unknown Thread" or "Any Unnamed Thread"

MainQueue 

High bits are used for a queue index and priority

LocalQueue 
NumQueues 
ThreadIndexMask 
QueueIndexMask 
QueueIndexShift 
NormalTaskPriority 

High bits are used for a queue index task priority and thread priority

HighTaskPriority 
NumTaskPriorities 
TaskPriorityMask 
TaskPriorityShift 
NormalThreadPriority 
HighThreadPriority 
BackgroundThreadPriority 
NumThreadPriorities 
ThreadPriorityMask 
ThreadPriorityShift 
GameThread_Local 

Combinations

ActualRenderingThread_Local 
AnyHiPriThreadNormalTask 
AnyHiPriThreadHiPriTask 
AnyNormalThreadNormalTask 
AnyNormalThreadHiPriTask 
AnyBackgroundThreadNormalTask 
AnyBackgroundHiPriTask 

Function Documentation

◆ GetQueueIndex()

UE_FORCEINLINE_HINT int32 ENamedThreads::GetQueueIndex ( Type  ThreadAndIndex)

◆ GetRenderThread()

UE_FORCEINLINE_HINT Type ENamedThreads::GetRenderThread ( )

◆ GetRenderThread_Local()

UE_FORCEINLINE_HINT Type ENamedThreads::GetRenderThread_Local ( )

◆ GetTaskPriority()

UE_FORCEINLINE_HINT int32 ENamedThreads::GetTaskPriority ( Type  ThreadAndIndex)

◆ GetThreadIndex()

UE_FORCEINLINE_HINT Type ENamedThreads::GetThreadIndex ( Type  ThreadAndIndex)

◆ GetThreadPriorityIndex()

int32 ENamedThreads::GetThreadPriorityIndex ( Type  ThreadAndIndex)
inline

◆ SetPriorities() [1/2]

Type ENamedThreads::SetPriorities ( Type  ThreadAndIndex,
int32  PriorityIndex,
bool  bHiPri 
)
inline

◆ SetPriorities() [2/2]

Type ENamedThreads::SetPriorities ( Type  ThreadAndIndex,
Type  ThreadPriority,
Type  TaskPriority 
)
inline

◆ SetRenderThread()

UE_FORCEINLINE_HINT void ENamedThreads::SetRenderThread ( Type  Thread)

◆ SetRenderThread_Local()

UE_FORCEINLINE_HINT void ENamedThreads::SetRenderThread_Local ( Type  Thread)

◆ SetTaskPriority()

Type ENamedThreads::SetTaskPriority ( Type  ThreadAndIndex,
Type  TaskPriority 
)
inline

◆ SetThreadPriority()

Type ENamedThreads::SetThreadPriority ( Type  ThreadAndIndex,
Type  ThreadPriority 
)
inline

Variable Documentation

◆ bHasBackgroundThreads

CORE_API int32 ENamedThreads::bHasBackgroundThreads = CREATE_BACKGROUND_TASK_THREADS

◆ bHasHighPriorityThreads

CORE_API int32 ENamedThreads::bHasHighPriorityThreads = CREATE_HIPRI_TASK_THREADS