Builtin Library
README.md
profiler.hotspots
The fastest triage — a flat, ranked list of the frame's most expensive nodes by SELF time (own cost, not because of children). One glance answers "what is eating the frame": a system's own work, or a specific component's update(dt). Follow a hit down with frame. Reads the live frame (now) or a stopped recording's worst / typical frame by its label. Takes n — how many rows to return (default 12).
A row of kind wait is time the engine thread spent blocked rather than work (a span whose name ends in wait; render_frame.present.gpu_wait is the frame pacer waiting on the GPU), and the line below it names what it waited for. The core/performance guide explains every row at the end of a rendered frame.