UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
DynamicRenderScaling::FHeuristicSettings Struct Referencefinal

#include <DynamicRenderScaling.h>

Public Member Functions

RENDERCORE_API bool IsEnabled () const
 
RENDERCORE_API float GetTargetedMs (float BudgetMs) const
 
RENDERCORE_API float EstimateCostScale (float ResolutionFraction) const
 
RENDERCORE_API float EstimateResolutionFactor (float TargetMs, float TimingMs) const
 
RENDERCORE_API float EstimateTimeFactor (float CurrentResolutionFraction, float NewResolutionFraction) const
 
RENDERCORE_API float CorrectNewResolutionFraction (float CurrentResolutionFraction, float NewResolutionFraction, float ResolutionFractionScale) const
 
RENDERCORE_API bool DoesResolutionChangeEnough (float CurrentResolutionFraction, float NewResolutionFraction, bool bCanChangeResolution) const
 

Public Attributes

EHeuristicModel Model = EHeuristicModel::Unknown
 
bool bModelScalesWithPrimaryScreenPercentage = false
 
float MinResolutionFraction = kDefaultMinResolutionFraction
 
float MaxResolutionFraction = kDefaultMaxResolutionFraction
 
float ThrottlingMaxResolutionFraction = kDefaultThrottlingMaxResolutionFraction
 
float BudgetMs = kBudgetMsDisabled
 
float ChangeThreshold = kDefaultChangeThreshold
 
float TargetedHeadRoom = kDefaultTargetedHeadRoom
 
float IncreaseAmortizationFactor = kDefaultIncreaseAmortizationFactor
 
int32 FractionQuantization = kDefaultFractionQuantization
 
int32 UpperBoundQuantization = kDefaultUpperBoundQuantization
 

Static Public Attributes

static constexpr float kDefaultMinResolutionFraction = 0.5f
 
static constexpr float kDefaultMaxResolutionFraction = 1.0f
 
static constexpr float kDefaultThrottlingMaxResolutionFraction = 0.0f
 
static constexpr float kBudgetMsDisabled = 0.0f
 
static constexpr float kDefaultChangeThreshold = 0.02f
 
static constexpr float kDefaultTargetedHeadRoom = 0.05f
 
static constexpr float kDefaultIncreaseAmortizationFactor = 0.9f
 
static constexpr int32 kDefaultFractionQuantization = 0
 
static constexpr int32 kDefaultUpperBoundQuantization = 0
 

Member Function Documentation

◆ CorrectNewResolutionFraction()

float DynamicRenderScaling::FHeuristicSettings::CorrectNewResolutionFraction ( float  CurrentResolutionFraction,
float  NewResolutionFraction,
float  ResolutionFractionScale 
) const

Corrects new resolution fraction to ensure it's within bounds, honor AmortizationFactor and FractionQuantization.

◆ DoesResolutionChangeEnough()

bool DynamicRenderScaling::FHeuristicSettings::DoesResolutionChangeEnough ( float  CurrentResolutionFraction,
float  NewResolutionFraction,
bool  bCanChangeResolution 
) const

Returns whether the ResolutionFraction is changing meaningfully enough.

◆ EstimateCostScale()

float DynamicRenderScaling::FHeuristicSettings::EstimateCostScale ( float  ResolutionFraction) const

Returns how much the GPU cost scales for a given ResolutionFraction.

◆ EstimateResolutionFactor()

float DynamicRenderScaling::FHeuristicSettings::EstimateResolutionFactor ( float  TargetMs,
float  TimingMs 
) const

Returns how much the ResolutionFraction should scale for a GPU timing to fit to target.

◆ EstimateTimeFactor()

float DynamicRenderScaling::FHeuristicSettings::EstimateTimeFactor ( float  CurrentResolutionFraction,
float  NewResolutionFraction 
) const

Returns how much the GPU time should scale between two different resolution fraction.

◆ GetTargetedMs()

float DynamicRenderScaling::FHeuristicSettings::GetTargetedMs ( float  BudgetMs) const

Returns the desired GPU cost to be targeted to have head room left to not go over budget.

◆ IsEnabled()

bool DynamicRenderScaling::FHeuristicSettings::IsEnabled ( ) const

Returns whether the heuristic is enabled or not.

Member Data Documentation

◆ bModelScalesWithPrimaryScreenPercentage

bool DynamicRenderScaling::FHeuristicSettings::bModelScalesWithPrimaryScreenPercentage = false

◆ BudgetMs

float DynamicRenderScaling::FHeuristicSettings::BudgetMs = kBudgetMsDisabled

◆ ChangeThreshold

float DynamicRenderScaling::FHeuristicSettings::ChangeThreshold = kDefaultChangeThreshold

◆ FractionQuantization

int32 DynamicRenderScaling::FHeuristicSettings::FractionQuantization = kDefaultFractionQuantization

◆ IncreaseAmortizationFactor

float DynamicRenderScaling::FHeuristicSettings::IncreaseAmortizationFactor = kDefaultIncreaseAmortizationFactor

◆ kBudgetMsDisabled

constexpr float DynamicRenderScaling::FHeuristicSettings::kBudgetMsDisabled = 0.0f
staticconstexpr

◆ kDefaultChangeThreshold

constexpr float DynamicRenderScaling::FHeuristicSettings::kDefaultChangeThreshold = 0.02f
staticconstexpr

◆ kDefaultFractionQuantization

constexpr int32 DynamicRenderScaling::FHeuristicSettings::kDefaultFractionQuantization = 0
staticconstexpr

◆ kDefaultIncreaseAmortizationFactor

constexpr float DynamicRenderScaling::FHeuristicSettings::kDefaultIncreaseAmortizationFactor = 0.9f
staticconstexpr

◆ kDefaultMaxResolutionFraction

constexpr float DynamicRenderScaling::FHeuristicSettings::kDefaultMaxResolutionFraction = 1.0f
staticconstexpr

◆ kDefaultMinResolutionFraction

constexpr float DynamicRenderScaling::FHeuristicSettings::kDefaultMinResolutionFraction = 0.5f
staticconstexpr

◆ kDefaultTargetedHeadRoom

constexpr float DynamicRenderScaling::FHeuristicSettings::kDefaultTargetedHeadRoom = 0.05f
staticconstexpr

◆ kDefaultThrottlingMaxResolutionFraction

constexpr float DynamicRenderScaling::FHeuristicSettings::kDefaultThrottlingMaxResolutionFraction = 0.0f
staticconstexpr

◆ kDefaultUpperBoundQuantization

constexpr int32 DynamicRenderScaling::FHeuristicSettings::kDefaultUpperBoundQuantization = 0
staticconstexpr

◆ MaxResolutionFraction

float DynamicRenderScaling::FHeuristicSettings::MaxResolutionFraction = kDefaultMaxResolutionFraction

◆ MinResolutionFraction

float DynamicRenderScaling::FHeuristicSettings::MinResolutionFraction = kDefaultMinResolutionFraction

◆ Model

EHeuristicModel DynamicRenderScaling::FHeuristicSettings::Model = EHeuristicModel::Unknown

◆ TargetedHeadRoom

float DynamicRenderScaling::FHeuristicSettings::TargetedHeadRoom = kDefaultTargetedHeadRoom

◆ ThrottlingMaxResolutionFraction

float DynamicRenderScaling::FHeuristicSettings::ThrottlingMaxResolutionFraction = kDefaultThrottlingMaxResolutionFraction

◆ UpperBoundQuantization

int32 DynamicRenderScaling::FHeuristicSettings::UpperBoundQuantization = kDefaultUpperBoundQuantization

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