unreal.AnimationBudgetAllocatorParameters
¶
- class unreal.AnimationBudgetAllocatorParameters(budget_in_ms=1.0, min_quality=0.0, max_tick_rate=10, work_unit_smoothing_speed=5.0, always_tick_falloff_aggression=0.8, interpolation_falloff_aggression=0.4, interpolation_max_rate=6, max_interpolated_components=16, interpolation_tick_multiplier=0.75, initial_estimated_work_unit_time_ms=0.08, max_ticked_offsreen_components=4, state_change_throttle_in_frames=30, budget_factor_before_reduced_work=1.5, budget_factor_before_reduced_work_epsilon=0.25, budget_pressure_smoothing_speed=3.0, reduced_work_throttle_min_in_frames=2, reduced_work_throttle_max_in_frames=20, budget_factor_before_aggressive_reduced_work=2.0, reduced_work_throttle_max_per_frame=4, budget_pressure_before_emergency_reduced_work=2.5)¶
Bases:
unreal.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.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¶
[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 budget_factor_before_aggressive_reduced_work¶
[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¶
[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¶
[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¶
[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¶
[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¶
[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¶
[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¶
[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¶
[Read-Write] Values > 1. Controls the rate at which ticks happen when interpolating.
- Type
(int32)
- property interpolation_tick_multiplier¶
[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¶
[Read-Write] Range >= 0. Max number of components to interpolate before we start throttling.
- Type
(int32)
- property max_tick_rate¶
[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¶
[Read-Write] Values >= 1 The maximum number of offscreen components we tick (most significant first)
- Type
(int32)
- property min_quality¶
[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¶
[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¶
[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¶
[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)
- property state_change_throttle_in_frames¶
[Read-Write] Range [1, 128] Prevents throttle values from changing too often due to system and load noise.
- Type
(int32)