Vixen
02b45cc4
csharp
public sealed class FrameGraphOverlay

A live mini flame chart of the last frame: one bar per profiler scope, nested by depth.

No guide page documents this yet — the page shows what the code says about itself.

Remarks

[13](../../../../docs/plan/13-diagnostics.md) § Diagnostic overlays asks for this beside the frame stats, and the two answer different questions: the stats say that a frame was slow, and this says what in it was. Neither is much use without the other, which is why the profiler is compiled in and left on.

⚠ Enabled, this drains the profiler's rings. Collect is destructive — it is how the rings are emptied — so this overlay and a trace export cannot both be reading at once. Set Collects to and feed it with Capture when something else owns the collection; that is what a host exporting Perfetto traces has to do.

⚠ Only the deepest thread is charted, and it says which. A flame chart of every worker stacked in one panel is unreadable at overlay size, and picking one arbitrarily would show a different thread each frame. The one with the most samples is the one doing the work, and the header names it so the choice is not silent.

Fields and properties (9)

  • public const int MaxDepth

    How many nested levels are drawn before the rest are folded away.

  • public string Name

    What the console and the toggles call it. Lower case, no spaces.

  • public OverlayAnchor Anchor

    Which corner it is pinned to.

  • public bool Enabled

    Whether it is drawn.

  • public float Width

    How wide the panel is, in pixels.

  • public bool Collects

    Whether drawing collects from Profiler itself.

  • public float BarHeight

    How tall one nesting level's bar is, in pixels.

  • public double FrameMilliseconds

    How long the charted frame took, in milliseconds.

  • public int ScopeCount

    How many scopes the last chart drew.

Methods (2)