Vixen
02b45cc4
csharp
public sealed class ConstraintGovernor

Decides 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 Budget

    How many goal-solves a frame may spend, across every character.

  • public ConstraintTier[] Tiers

    The rungs, best first.

Methods (1)

Used by (2)

  • ConstraintStageBenchmarksVixen.Benchmarks.Animation
  • PlacementTestsVixen.Animation.Tests