![]() |
UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
|
Inheritance diagram for UE::GC::TReferenceBatcher< UnvalidatedReferenceType, ValidatedReferenceType, ProcessorType >:Public Member Functions | |
| TReferenceBatcher (FWorkerContext &InContext) | |
| FORCEINLINE_DEBUGGABLE void | PushArray (TArray< UObject * > &Array) |
| FORCEINLINE_DEBUGGABLE void | PushArray (FStridedReferenceArray StridedArray) |
| template<class ViewType > | |
| FORCEINLINE_DEBUGGABLE void | PushReferenceView (ViewType View) |
| FORCEINLINE_DEBUGGABLE void | PushReference (UnvalidatedReferenceType UnvalidatedReference) |
| FORCEINLINE_DEBUGGABLE void | FlushQueues () |
Additional Inherited Members | |
Static Protected Attributes inherited from UE::GC::FBatcherBase | |
| static constexpr uint32 | ArrayBatchSize = 32 |
| static constexpr uint32 | UnvalidatedBatchSize = 32 |
| static constexpr uint32 | ValidatedBatchSize = 1024 |
| static constexpr uint32 | ValidatedPrefetchAhead = 64 |
Queues up memory indirection to avoid synchronous cache misses by prefetching data just in time.
Uses bounded queues to avoid branching, control temp memory consumption, allow compiler to generate vectorized code and make life easier for the branch predictor.
Array queue feed into "unvalidated" references queue, which feed into validated references queue, which gets processed when full.
Unvalidated means references that might be nullptr or part of the permanent object pool, neither of which require processing.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |