Navigation
API > API/Runtime > API/Runtime/TimeManagement
Estimates the current timecode based on the clock of the engine's current UCustomTimeStep. This class is intended to be used for wrapping a UTimecodeProvider that was previously set using UEngine::SetTimecodeProvider. We probably want the engine to always run with UTimecodeRegressionProvider since otherwise frame hitches cause the timecode to be evaluated incorrectly. However, making that kind code change is risky so for now, we make systems that require it opt-in. In the future, we can refactor UEngine to use FTimecodeEstimator directly and then we can remove UTimecodeRegressionProvider.
| Name | UTimecodeRegressionProvider |
| Type | class |
| Header File | /Engine/Source/Runtime/TimeManagement/Public/Estimation/TimecodeRegressionProvider.h |
| Include Path | #include "Estimation/TimecodeRegressionProvider.h" |
Syntax
UCLASS (MinimalAPI)
class UTimecodeRegressionProvider : public UTimecodeProvider
Inheritance Hierarchy
- UObjectBase → UObjectBaseUtility → UObject → UTimecodeProvider → UTimecodeRegressionProvider
Structs
| Name | Remarks |
|---|---|
| FTimecodeEstimationState | Data valid for the lifetime of the FTimecodeEstimator. |
Variables
Public
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| NumSampledFrames | int32 | Determines the number of samples to use for linear regression. | Estimation/TimecodeRegressionProvider.h |
|
Protected
| Name | Type | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|---|
| EstimationState | TOptional< FTimecodeEstimationState > | Data set while we're estimating timecode. | Estimation/TimecodeRegressionProvider.h | |
| OwningEngine | TObjectPtr< UEngine > | The UEngine that called Initialize() on us. | Estimation/TimecodeRegressionProvider.h | |
| TimecodeImpl | TObjectPtr< UTimecodeProvider > | The real timecode provider, which this class is wrapping. | Estimation/TimecodeRegressionProvider.h |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TOptional< FQualifiedFrameTime > GetLastSampledFrameTime() |
Estimation/TimecodeRegressionProvider.h | ||
UTimecodeProvider * GetUnderlyingTimecodeProvider() |
Estimation/TimecodeRegressionProvider.h | ||
void SetTimecodeImplementation
(
UTimecodeProvider* InTimecodeImpl |
Sets the actual time code provider. | Estimation/TimecodeRegressionProvider.h |
Overridden from UTimecodeProvider
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
virtual void FetchAndUpdate() |
Estimation/TimecodeRegressionProvider.h | ||
virtual bool FetchTimecode
(
FQualifiedFrameTime& OutFrameTime |
Estimation/TimecodeRegressionProvider.h | ||
virtual FQualifiedFrameTime GetQualifiedFrameTime() |
Estimation/TimecodeRegressionProvider.h | ||
virtual ETimecodeProviderSynchronizationState GetSynchronizationState() |
Estimation/TimecodeRegressionProvider.h | ||
virtual bool Initialize
(
UEngine* InEngine |
Estimation/TimecodeRegressionProvider.h | ||
virtual bool IsAutoDetected() |
Estimation/TimecodeRegressionProvider.h | ||
virtual void SetIsAutoDetected
(
bool bInIsAutoDetected |
Estimation/TimecodeRegressionProvider.h | ||
virtual void Shutdown
(
UEngine* InEngine |
Estimation/TimecodeRegressionProvider.h | ||
virtual bool SupportsAutoDetected() |
Estimation/TimecodeRegressionProvider.h |
Static
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
static bool SupportsTimestep
(
UEngineCustomTimeStep* InTimestep |
Estimation/TimecodeRegressionProvider.h |
See Also
- FTimecodeEstimator for a detailed explanation.