unreal.AnimationBudgetAllocatorParameters
¶
- class unreal.AnimationBudgetAllocatorParameters(budget_in_ms: float = 0.0, min_quality: float = 0.0, max_tick_rate: int = 0, work_unit_smoothing_speed: float = 0.0, always_tick_falloff_aggression: float = 0.0, interpolation_falloff_aggression: float = 0.0, interpolation_max_rate: int = 0, max_interpolated_components: int = 0, interpolation_tick_multiplier: float = 0.0, initial_estimated_work_unit_time_ms: float = 0.0, max_ticked_offsreen_components: int = 0, state_change_throttle_in_frames: int = 0, budget_factor_before_reduced_work: float = 0.0, budget_factor_before_reduced_work_epsilon: float = 0.0, budget_pressure_smoothing_speed: float = 0.0, reduced_work_throttle_min_in_frames: int = 0, reduced_work_throttle_max_in_frames: int = 0, budget_factor_before_aggressive_reduced_work: float = 0.0, reduced_work_throttle_max_per_frame: int = 0, budget_pressure_before_emergency_reduced_work: float = 0.0, auto_calculated_significance_max_distance: float = 0.0)¶
Bases:
StructBase
Parameter block used to control the behavior of the budget allocator
C++ Source:
Plugin: AnimationBudgetAllocator
Module: AnimationBudgetAllocator
File: AnimationBudgetAllocatorParameters.h
Editor Properties: (see get_editor_property/set_editor_property)
always_tick_falloff_aggression
(float): [Read-Write] Range [0.1, 0.9]. Controls the rate at which ‘always ticked’ components falloff under load. Higher values mean that we reduce the number of always ticking components by a larger amount when the allocated time budget is exceeded.auto_calculated_significance_max_distance
(float): [Read-Write] Range > 1.0. Controls the distance at which auto-calculated significance for budgeted components bottoms out. Components within the distance 1 -> Max will have significance mapped 1 -> 0, outside of MaxDistance significance will be zero.budget_factor_before_aggressive_reduced_work
(float): [Read-Write] Range > 1. Reduced work will be applied more rapidly when budget pressure goes over this amount.budget_factor_before_reduced_work
(float): [Read-Write] Range > 1 Reduced work will be delayed until budget pressure goes over this amount.budget_factor_before_reduced_work_epsilon
(float): [Read-Write] Range > 0.0. Increased work will be delayed until budget pressure goes under BudgetFactorBeforeReducedWork minus this amount.budget_in_ms
(float): [Read-Write] Values > 0.1. The time in milliseconds that we allocate for skeletal mesh work to be performed. When overbudget various other parameters come into play, such as AlwaysTickFalloffAggression and InterpolationFalloffAggression.budget_pressure_before_emergency_reduced_work
(float): [Read-Write] Range > 0.0. Controls the budget pressure where emergency reduced work (applied to all components except those that are bAlwaysTick).budget_pressure_smoothing_speed
(float): [Read-Write] Range > 0.0. How much to smooth the budget pressure value used to throttle reduced work.initial_estimated_work_unit_time_ms
(float): [Read-Write] Values > 0.0. Controls the time in milliseconds we expect, on average, for a skeletal mesh component to execute. The value only applies for the first tick of a component, after which we use the real time the tick takes.interpolation_falloff_aggression
(float): [Read-Write] Range [0.1, 0.9]. Controls the rate at which interpolated components falloff under load. Higher values mean that we reduce the number of interpolated components by a larger amount when the allocated time budget is exceeded. Components are only interpolated when the time budget is exceeded.interpolation_max_rate
(int32): [Read-Write] Values > 1. Controls the rate at which ticks happen when interpolating.interpolation_tick_multiplier
(float): [Read-Write] Range [0.1, 0.9]. Controls the expected value an amortized interpolated tick will take compared to a ‘normal’ tick.max_interpolated_components
(int32): [Read-Write] Range >= 0. Max number of components to interpolate before we start throttling.max_tick_rate
(int32): [Read-Write] Values >= 1. The maximum tick rate we allow. If this is set then we can potentially go over budget, but keep quality of individual meshes to a reasonable level.max_ticked_offsreen_components
(int32): [Read-Write] Values >= 1 The maximum number of offscreen components we tick (most significant first)min_quality
(float): [Read-Write] Values [0.0, 1.0]. The minimum quality metric allowed. Quality is determined simply by NumComponentsTickingThisFrame / NumComponentsThatWeNeedToTick. If this is anything other than 0.0 then we can potentially go over our time budget.reduced_work_throttle_max_in_frames
(int32): [Read-Write] Range [1, 255]. Prevents reduced work from changing too often due to system and load noise. Max value used when under budget pressure.reduced_work_throttle_max_per_frame
(int32): [Read-Write] Range [1, 255]. Controls the max number of components that are switched to/from reduced work per tick.reduced_work_throttle_min_in_frames
(int32): [Read-Write] Range [1, 255]. Prevents reduced work from changing too often due to system and load noise. Min value used when over budget pressure (i.e. aggressive reduction).state_change_throttle_in_frames
(int32): [Read-Write] Range [1, 128] Prevents throttle values from changing too often due to system and load noise.work_unit_smoothing_speed
(float): [Read-Write] Values > 0.1. The speed at which the average work unit converges on the measured amount.
- property always_tick_falloff_aggression: float¶
[Read-Write] Range [0.1, 0.9]. Controls the rate at which ‘always ticked’ components falloff under load. Higher values mean that we reduce the number of always ticking components by a larger amount when the allocated time budget is exceeded.
- Type:
(float)
- property auto_calculated_significance_max_distance: float¶
[Read-Write] Range > 1.0. Controls the distance at which auto-calculated significance for budgeted components bottoms out. Components within the distance 1 -> Max will have significance mapped 1 -> 0, outside of MaxDistance significance will be zero.
- Type:
(float)
- property budget_factor_before_aggressive_reduced_work: float¶
[Read-Write] Range > 1. Reduced work will be applied more rapidly when budget pressure goes over this amount.
- Type:
(float)
- property budget_factor_before_reduced_work: float¶
[Read-Write] Range > 1 Reduced work will be delayed until budget pressure goes over this amount.
- Type:
(float)
- property budget_factor_before_reduced_work_epsilon: float¶
[Read-Write] Range > 0.0. Increased work will be delayed until budget pressure goes under BudgetFactorBeforeReducedWork minus this amount.
- Type:
(float)
- property budget_in_ms: float¶
[Read-Write] Values > 0.1. The time in milliseconds that we allocate for skeletal mesh work to be performed. When overbudget various other parameters come into play, such as AlwaysTickFalloffAggression and InterpolationFalloffAggression.
- Type:
(float)
- property budget_pressure_before_emergency_reduced_work: float¶
[Read-Write] Range > 0.0. Controls the budget pressure where emergency reduced work (applied to all components except those that are bAlwaysTick).
- Type:
(float)
- property budget_pressure_smoothing_speed: float¶
[Read-Write] Range > 0.0. How much to smooth the budget pressure value used to throttle reduced work.
- Type:
(float)
- property initial_estimated_work_unit_time_ms: float¶
[Read-Write] Values > 0.0. Controls the time in milliseconds we expect, on average, for a skeletal mesh component to execute. The value only applies for the first tick of a component, after which we use the real time the tick takes.
- Type:
(float)
- property interpolation_falloff_aggression: float¶
[Read-Write] Range [0.1, 0.9]. Controls the rate at which interpolated components falloff under load. Higher values mean that we reduce the number of interpolated components by a larger amount when the allocated time budget is exceeded. Components are only interpolated when the time budget is exceeded.
- Type:
(float)
- property interpolation_max_rate: int¶
[Read-Write] Values > 1. Controls the rate at which ticks happen when interpolating.
- Type:
(int32)
- property interpolation_tick_multiplier: float¶
[Read-Write] Range [0.1, 0.9]. Controls the expected value an amortized interpolated tick will take compared to a ‘normal’ tick.
- Type:
(float)
- property max_interpolated_components: int¶
[Read-Write] Range >= 0. Max number of components to interpolate before we start throttling.
- Type:
(int32)
- property max_tick_rate: int¶
[Read-Write] Values >= 1. The maximum tick rate we allow. If this is set then we can potentially go over budget, but keep quality of individual meshes to a reasonable level.
- Type:
(int32)
- property max_ticked_offsreen_components: int¶
[Read-Write] Values >= 1 The maximum number of offscreen components we tick (most significant first)
- Type:
(int32)
- property min_quality: float¶
[Read-Write] Values [0.0, 1.0]. The minimum quality metric allowed. Quality is determined simply by NumComponentsTickingThisFrame / NumComponentsThatWeNeedToTick. If this is anything other than 0.0 then we can potentially go over our time budget.
- Type:
(float)
- property reduced_work_throttle_max_in_frames: int¶
[Read-Write] Range [1, 255]. Prevents reduced work from changing too often due to system and load noise. Max value used when under budget pressure.
- Type:
(int32)
- property reduced_work_throttle_max_per_frame: int¶
[Read-Write] Range [1, 255]. Controls the max number of components that are switched to/from reduced work per tick.
- Type:
(int32)
- property reduced_work_throttle_min_in_frames: int¶
[Read-Write] Range [1, 255]. Prevents reduced work from changing too often due to system and load noise. Min value used when over budget pressure (i.e. aggressive reduction).
- Type:
(int32)