5#include "Containers/Array.h"
17template<
typename Type>
105 return CachedSettings;
115 return BudgetId ==
Other.BudgetId;
148 FHeuristicSettings(*HeuristicSettingsGetter)(
void);
150 FHeuristicSettings CachedSettings;
163 template<
typename Type>
170template<
typename Type>
179#if !UE_BUILD_SHIPPING
199 for (
int32 i = 0; i < Array.Num(); i++)
201 Array[i].Value =
Value;
208 return Array[Budget.BudgetId].Value;
214 return Array[Budget.BudgetId].Value;
220 return Array[BudgetId].Value;
226 return Array[BudgetId].Value;
232#if !UE_BUILD_SHIPPING
233 const TCHAR* Name =
nullptr;
243 return Fraction * 100.0f;
OODEFFUNC typedef void(OODLE_CALLBACK t_fp_OodleCore_Plugin_Free)(void *ptr)
#define check(expr)
Definition AssertionMacros.h:314
#define UE_NONCOPYABLE(TypeName)
Definition CoreMiscDefines.h:457
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition DynamicRenderScaling.h:83
const TCHAR * GetName() const
Definition DynamicRenderScaling.h:92
bool operator==(const FBudget &Other) const
Definition DynamicRenderScaling.h:113
friend RENDERCORE_API void UpdateHeuristicsSettings()
Definition DynamicRenderScaling.cpp:174
const FHeuristicSettings & GetSettings() const
Definition DynamicRenderScaling.h:103
int32 GetBudgetId() const
Definition DynamicRenderScaling.h:108
static RENDERCORE_API int32 GetGlobalListSize()
Definition DynamicRenderScaling.cpp:169
const char * GetAnsiName() const
Definition DynamicRenderScaling.h:97
static RENDERCORE_API TLinkedList< FBudget * > *& GetGlobalList()
Definition DynamicRenderScaling.cpp:162
RENDERCORE_API ~FBudget()
Definition DynamicRenderScaling.cpp:155
Definition DynamicRenderScaling.h:172
const Type & operator[](const FBudget &Budget) const
Definition DynamicRenderScaling.h:205
TMap(const TMap< Type > &Map)=default
static constexpr int32 kInlineAllocatedBudgets
Definition DynamicRenderScaling.h:174
TMap(const Type &Value)
Definition DynamicRenderScaling.h:187
TMap()
Definition DynamicRenderScaling.h:176
void SetAll(const Type &Value)
Definition DynamicRenderScaling.h:196
UE_NODEBUG UE_FORCEINLINE_HINT ElementType * GetData() UE_LIFETIMEBOUND
Definition Array.h:1027
Definition IConsoleManager.h:1792
void Next()
Definition List.h:21
Definition UnrealString.h.inl:34
Definition DynamicRenderScaling.cpp:14
constexpr float FractionToPercentage(float Fraction)
Definition DynamicRenderScaling.h:241
void EndFrame()
Definition RenderGraphEvent.cpp:245
constexpr float PercentageToFraction(float Percentage)
Definition DynamicRenderScaling.h:246
float GetPercentageCVarToFraction(const TAutoConsoleVariable< float > &Percentage)
Definition DynamicRenderScaling.h:251
const TMap< uint64 > & GetLatestTimings()
Definition RenderGraphEvent.cpp:250
EHeuristicModel
Definition DynamicRenderScaling.h:22
bool IsSupported()
Definition RenderGraphEvent.cpp:234
void UpdateHeuristicsSettings()
Definition DynamicRenderScaling.cpp:174
const TCHAR * Name
Definition OodleDataCompression.cpp:30
Definition DynamicRenderScaling.h:34
float ThrottlingMaxResolutionFraction
Definition DynamicRenderScaling.h:50
RENDERCORE_API float EstimateCostScale(float ResolutionFraction) const
Definition DynamicRenderScaling.cpp:27
float MaxResolutionFraction
Definition DynamicRenderScaling.h:49
float IncreaseAmortizationFactor
Definition DynamicRenderScaling.h:54
int32 UpperBoundQuantization
Definition DynamicRenderScaling.h:56
static constexpr int32 kDefaultFractionQuantization
Definition DynamicRenderScaling.h:42
bool bModelScalesWithPrimaryScreenPercentage
Definition DynamicRenderScaling.h:46
float TargetedHeadRoom
Definition DynamicRenderScaling.h:53
RENDERCORE_API float CorrectNewResolutionFraction(float CurrentResolutionFraction, float NewResolutionFraction, float ResolutionFractionScale) const
Definition DynamicRenderScaling.cpp:64
static constexpr float kDefaultMaxResolutionFraction
Definition DynamicRenderScaling.h:36
EHeuristicModel Model
Definition DynamicRenderScaling.h:45
static constexpr float kDefaultIncreaseAmortizationFactor
Definition DynamicRenderScaling.h:41
static constexpr float kDefaultThrottlingMaxResolutionFraction
Definition DynamicRenderScaling.h:37
RENDERCORE_API float EstimateTimeFactor(float CurrentResolutionFraction, float NewResolutionFraction) const
Definition DynamicRenderScaling.cpp:103
RENDERCORE_API bool DoesResolutionChangeEnough(float CurrentResolutionFraction, float NewResolutionFraction, bool bCanChangeResolution) const
Definition DynamicRenderScaling.cpp:87
RENDERCORE_API float EstimateResolutionFactor(float TargetMs, float TimingMs) const
Definition DynamicRenderScaling.cpp:45
float MinResolutionFraction
Definition DynamicRenderScaling.h:48
RENDERCORE_API bool IsEnabled() const
Definition DynamicRenderScaling.cpp:16
static constexpr int32 kDefaultUpperBoundQuantization
Definition DynamicRenderScaling.h:43
RENDERCORE_API float GetTargetedMs(float BudgetMs) const
Definition DynamicRenderScaling.cpp:21
float BudgetMs
Definition DynamicRenderScaling.h:51
static constexpr float kBudgetMsDisabled
Definition DynamicRenderScaling.h:38
static constexpr float kDefaultMinResolutionFraction
Definition DynamicRenderScaling.h:35
float ChangeThreshold
Definition DynamicRenderScaling.h:52
static constexpr float kDefaultChangeThreshold
Definition DynamicRenderScaling.h:39
int32 FractionQuantization
Definition DynamicRenderScaling.h:55
static constexpr float kDefaultTargetedHeadRoom
Definition DynamicRenderScaling.h:40
Definition LightweightStats.h:416