![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
#include <ReachabilityAnalysisState.h>
Public Member Functions | |
| FReachabilityAnalysisState ()=default | |
| void | StartTimer (double InTimeLimit) |
| const UE::GC::FProcessorStats & | GetStats () const |
| bool | IsSuspended () const |
| void | CollectGarbage (EObjectFlags KeepFlags, bool bFullPurge) |
| void | PerformReachabilityAnalysisAndConditionallyPurgeGarbage (bool bReachabilityUsingTimeLimit) |
| FORCEINLINE bool | IsTimeLimitExceeded () const |
| FORCEINLINE int32 | GetNumWorkers () const |
| FORCEINLINE FWorkerContext ** | GetContextArray () |
| FORCEINLINE int32 | GetNumIterations () const |
| void | Init () |
| void | SetupWorkers (int32 InNumWorkers) |
| void | PerformReachabilityAnalysis () |
| void | UpdateStats (const UE::GC::FProcessorStats &InStats) |
| bool | CheckIfAnyContextIsSuspended () |
| void | ResetWorkers () |
| void | FinishIteration () |
Static Public Attributes | |
| static constexpr int32 | MaxWorkers = 16 |
Reachability analysis state holds information about suspended worker contexts.
|
default |
| bool UE::GC::FReachabilityAnalysisState::CheckIfAnyContextIsSuspended | ( | ) |
Checks if any of the active worker contexts is suspended and updates the IsSuspended state
| void UE::GC::FReachabilityAnalysisState::CollectGarbage | ( | EObjectFlags | KeepFlags, |
| bool | bFullPurge | ||
| ) |
Kicks off new Garbage Collection cycle
| void UE::GC::FReachabilityAnalysisState::FinishIteration | ( | ) |
Marks the end of reachability iteration
|
inline |
|
inline |
|
inline |
|
inline |
| void UE::GC::FReachabilityAnalysisState::Init | ( | ) |
Initializes reachability analysis
|
inline |
|
inline |
Checks if Time Limit has been exceeded. This function needs to be super fast as it's called very frequently.
| void UE::GC::FReachabilityAnalysisState::PerformReachabilityAnalysis | ( | ) |
Main Garbage Collection function executed on Reachability Analysis Thread when StartEvent has been triggered
| void UE::GC::FReachabilityAnalysisState::PerformReachabilityAnalysisAndConditionallyPurgeGarbage | ( | bool | bReachabilityUsingTimeLimit | ) |
Performs Reachability Analysis (also incrementally) and destroys objects (also incrementally)
| void UE::GC::FReachabilityAnalysisState::ResetWorkers | ( | ) |
Resets workers after reachability analysis is fully complete
Initializes expected number of worker threads
| void UE::GC::FReachabilityAnalysisState::UpdateStats | ( | const UE::GC::FProcessorStats & | InStats | ) |
Updates reachability analysis state after RA iteration