public sealed class ConstraintGovernorDecides what a frame can afford to solve, and says what it gave up.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
Three knobs, walked in one order. The most important characters keep a full solve every frame at full detail; the next band drops to every other frame and the coarse shape set; the last drops further still. Which characters matter is Importance, which a game writes from distance — the governor has no opinion about what matters and could not have one.
⚠ Goals, not microseconds. The only honest per-goal time is one measured on the machine the game is running on, and a budget in microseconds would be a number that means something different on every device. What actually scales is the goal count, so that is what is counted — and a project that has measured its own per-goal cost converts once, at the point it sets Budget.
⚠ The ladder is bounded and the bound is the point. Holding a correction is right for a few frames and wrong for many, so there is no rung below Tiers's last — and when even that does not fit, the report says so instead of the governor inventing one.
Fields and properties (2)
public float BudgetHow many goal-solves a frame may spend, across every character.
public ConstraintTier[] TiersThe rungs, best first.
Methods (1)
public GovernorReport Plan(ReadOnlySpan<ConstraintStack> stacks)Assigns every character a rung, and reports what that cost.
Used by (2)
- ConstraintStageBenchmarksVixen.Benchmarks.Animation
- PlacementTestsVixen.Animation.Tests