UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
FNavRegenTimeSliceManager Class Reference

#include <NavigationSystem.h>

Public Member Functions

NAVIGATIONSYSTEM_API FNavRegenTimeSliceManager ()
 
void PushTileRegenTime (double NewTime)
 
double GetAverageTileRegenTime () const
 
double GetAverageDeltaTime () const
 
NAVIGATIONSYSTEM_API void ResetTileWaitTimeArrays (const TArray< TObjectPtr< ANavigationData > > &NavDataSet)
 
NAVIGATIONSYSTEM_API void PushTileWaitTime (const int32 NavDataIndex, const double NewTime)
 
NAVIGATIONSYSTEM_API void ResetTileHistoryData (const TArray< TObjectPtr< ANavigationData > > &NavDataSet)
 
NAVIGATIONSYSTEM_API void PushTileHistoryData (const int32 NavDataIndex, const FTileHistoryData &TileData)
 
NAVIGATIONSYSTEM_API double GetAverageTileWaitTime (const int32 NavDataIndex) const
 
NAVIGATIONSYSTEM_API void ResetTileWaitTime (const int32 NavDataIndex)
 
bool DoTimeSlicedUpdate () const
 
NAVIGATIONSYSTEM_API void CalcAverageDeltaTime (uint64 FrameNum)
 
NAVIGATIONSYSTEM_API void CalcTimeSliceDuration (const TArray< TObjectPtr< ANavigationData > > &NavDataSet, int32 NumTilesToRegen, const TArray< double > &CurrentTileRegenDurations)
 
NAVIGATIONSYSTEM_API void SetMinTimeSliceDuration (double NewMinTimeSliceDuration)
 
NAVIGATIONSYSTEM_API void SetMaxTimeSliceDuration (double NewMaxTimeSliceDuration)
 
NAVIGATIONSYSTEM_API void SetMaxDesiredTileRegenDuration (float NewMaxDesiredTileRegenDuration)
 
int32 GetNavDataIdx () const
 
void SetNavDataIdx (int32 InNavDataIdx)
 
FNavRegenTimeSlicerGetTimeSlicer ()
 
const FNavRegenTimeSlicerGetTimeSlicer () const
 
NAVIGATIONSYSTEM_API void LogTileStatistics (const TArray< TObjectPtr< ANavigationData > > &NavDataSet) const
 

Protected Attributes

FNavRegenTimeSlicer TimeSlicer
 
FMovingWindowAverageFast< double, 256 > MovingWindowTileRegenTime
 
FMovingWindowAverageFast< double, 256 > MovingWindowDeltaTime
 
TArray< TArray< double > > TileWaitTimes
 
TArray< TArray< FTileHistoryData > > TileHistoryData
 
double TileHistoryStartTime = 0
 
double MinTimeSliceDuration
 
double MaxTimeSliceDuration
 
uint64 FrameNumOld
 
float MaxDesiredTileRegenDuration
 
double TimeLastCall
 
int32 NavDataIdx
 
bool bDoTimeSlicedUpdate
 

Constructor & Destructor Documentation

◆ FNavRegenTimeSliceManager()

FNavRegenTimeSliceManager::FNavRegenTimeSliceManager ( )

Member Function Documentation

◆ CalcAverageDeltaTime()

void FNavRegenTimeSliceManager::CalcAverageDeltaTime ( uint64  FrameNum)

◆ CalcTimeSliceDuration()

void FNavRegenTimeSliceManager::CalcTimeSliceDuration ( const TArray< TObjectPtr< ANavigationData > > &  NavDataSet,
int32  NumTilesToRegen,
const TArray< double > &  CurrentTileRegenDurations 
)

◆ DoTimeSlicedUpdate()

bool FNavRegenTimeSliceManager::DoTimeSlicedUpdate ( ) const
inline

◆ GetAverageDeltaTime()

double FNavRegenTimeSliceManager::GetAverageDeltaTime ( ) const
inline

◆ GetAverageTileRegenTime()

double FNavRegenTimeSliceManager::GetAverageTileRegenTime ( ) const
inline

◆ GetAverageTileWaitTime()

double FNavRegenTimeSliceManager::GetAverageTileWaitTime ( const int32  NavDataIndex) const

◆ GetNavDataIdx()

int32 FNavRegenTimeSliceManager::GetNavDataIdx ( ) const
inline

◆ GetTimeSlicer() [1/2]

FNavRegenTimeSlicer & FNavRegenTimeSliceManager::GetTimeSlicer ( )
inline

◆ GetTimeSlicer() [2/2]

const FNavRegenTimeSlicer & FNavRegenTimeSliceManager::GetTimeSlicer ( ) const
inline

◆ LogTileStatistics()

void FNavRegenTimeSliceManager::LogTileStatistics ( const TArray< TObjectPtr< ANavigationData > > &  NavDataSet) const

◆ PushTileHistoryData()

void FNavRegenTimeSliceManager::PushTileHistoryData ( const int32  NavDataIndex,
const FTileHistoryData TileData 
)

◆ PushTileRegenTime()

void FNavRegenTimeSliceManager::PushTileRegenTime ( double  NewTime)
inline

◆ PushTileWaitTime()

void FNavRegenTimeSliceManager::PushTileWaitTime ( const int32  NavDataIndex,
const double  NewTime 
)

◆ ResetTileHistoryData()

void FNavRegenTimeSliceManager::ResetTileHistoryData ( const TArray< TObjectPtr< ANavigationData > > &  NavDataSet)

◆ ResetTileWaitTime()

void FNavRegenTimeSliceManager::ResetTileWaitTime ( const int32  NavDataIndex)

◆ ResetTileWaitTimeArrays()

void FNavRegenTimeSliceManager::ResetTileWaitTimeArrays ( const TArray< TObjectPtr< ANavigationData > > &  NavDataSet)

◆ SetMaxDesiredTileRegenDuration()

void FNavRegenTimeSliceManager::SetMaxDesiredTileRegenDuration ( float  NewMaxDesiredTileRegenDuration)

◆ SetMaxTimeSliceDuration()

void FNavRegenTimeSliceManager::SetMaxTimeSliceDuration ( double  NewMaxTimeSliceDuration)

◆ SetMinTimeSliceDuration()

void FNavRegenTimeSliceManager::SetMinTimeSliceDuration ( double  NewMinTimeSliceDuration)

◆ SetNavDataIdx()

void FNavRegenTimeSliceManager::SetNavDataIdx ( int32  InNavDataIdx)
inline

Member Data Documentation

◆ bDoTimeSlicedUpdate

bool FNavRegenTimeSliceManager::bDoTimeSlicedUpdate
protected

◆ FrameNumOld

uint64 FNavRegenTimeSliceManager::FrameNumOld
protected

◆ MaxDesiredTileRegenDuration

float FNavRegenTimeSliceManager::MaxDesiredTileRegenDuration
protected

The max real world desired time to Regen all the tiles in PendingDirtyTiles, Note it could take longer than this, as the time slice is clamped per frame between MinTimeSliceDuration and MaxTimeSliceDuration.

◆ MaxTimeSliceDuration

double FNavRegenTimeSliceManager::MaxTimeSliceDuration
protected

The max Desired Time Slice Duration

◆ MinTimeSliceDuration

double FNavRegenTimeSliceManager::MinTimeSliceDuration
protected

If there are enough tiles to process this in the Min Time Slice Duration

◆ MovingWindowDeltaTime

FMovingWindowAverageFast<double, 256> FNavRegenTimeSliceManager::MovingWindowDeltaTime
protected

Used to calculate the actual moving window delta time

◆ MovingWindowTileRegenTime

FMovingWindowAverageFast<double, 256> FNavRegenTimeSliceManager::MovingWindowTileRegenTime
protected

Used to calculate the moving window average of the actual time spent inside functions used to regenerate a tile, this is processing time not actual time over multiple frames

◆ NavDataIdx

int32 FNavRegenTimeSliceManager::NavDataIdx
protected

◆ TileHistoryData

TArray<TArray<FTileHistoryData> > FNavRegenTimeSliceManager::TileHistoryData
protected

Tile processing time per NavDataIndex

◆ TileHistoryStartTime

double FNavRegenTimeSliceManager::TileHistoryStartTime = 0
protected

◆ TileWaitTimes

TArray<TArray<double> > FNavRegenTimeSliceManager::TileWaitTimes
protected

Average tile wait time per NavDataIndex

◆ TimeLastCall

double FNavRegenTimeSliceManager::TimeLastCall
protected

◆ TimeSlicer

FNavRegenTimeSlicer FNavRegenTimeSliceManager::TimeSlicer
protected

The documentation for this class was generated from the following files: