Struct TierBudgetMetrics
Per-tier cost and entity count metrics from the previous tick (issue #234). Exposed on TierBudgetMetrics
so game code (typically the TierAssignment CallbackSystem) can adaptively adjust tier boundaries based on
actual tick cost vs. budget.
public struct TierBudgetMetrics
- Inherited Members
Remarks
Computed at tick end from DurationUs aggregated by TierFilter. Systems targeting multiple tiers (e.g. Near) contribute equally to each matching tier.
On the first tick, all fields are zero (no previous-tick data). Game code should guard against BudgetMs == 0.
Fields
BudgetMs
Target tick duration: 1000f / BaseTickRate.
public float BudgetMs
Field Value
Tier0CostMs
Wall-clock cost in milliseconds of all systems with Tier0 in their tier filter.
public float Tier0CostMs
Field Value
Tier0EntityCount
Total entities processed by Tier 0 systems.
public int Tier0EntityCount
Field Value
Tier1CostMs
Wall-clock cost of Tier 1 systems.
public float Tier1CostMs
Field Value
Tier1EntityCount
Total entities processed by Tier 1 systems.
public int Tier1EntityCount
Field Value
Tier2CostMs
Wall-clock cost of Tier 2 systems.
public float Tier2CostMs
Field Value
Tier2EntityCount
Total entities processed by Tier 2 systems.
public int Tier2EntityCount
Field Value
Tier3CostMs
Wall-clock cost of Tier 3 systems.
public float Tier3CostMs
Field Value
Tier3EntityCount
Total entities processed by Tier 3 systems.
public int Tier3EntityCount
Field Value
TotalCostMs
Sum of all per-system execution times (including non-tier-filtered systems).
public float TotalCostMs
Field Value
UtilizationRatio
TotalCostMs / BudgetMs. 1.0 = fully utilized, >1.0 = overrun.
public float UtilizationRatio