Class AudityPerfHud
On-screen per-node render timing - the Activity panel’s numbers without the editor. Drop on any GameObject in a scene that plays Audity content; it registers as the telemetry sink, requests tracing, and draws per-instance node costs via OnGUI.
Built for RELEASE (non-development) player builds: the engine’s trace timestamps are plain clock reads inside the Burst block loop, not Unity Profiler markers, so the numbers reflect shipping code - Burst AOT, safety checks off, no profiler attached. The trace itself costs two clock reads per node per block, identical in editor and player, so readings stay comparable.
Assembly: DarkEffekt.Audity.Diagnostics
Section titled “Assembly: DarkEffekt.Audity.Diagnostics”public sealed class AudityPerfHud : MonoBehaviour, AudityTelemetry.ISinkInheritance: System.Object -> UnityEngine.Object -> UnityEngine.Component -> UnityEngine.Behaviour -> UnityEngine.MonoBehaviour
Implements:
DarkEffekt.Audity.AudityTelemetry.ISink
Fields
Section titled “Fields”smoothing
Section titled “smoothing”[Tooltip("Exponential smoothing for the per-window µs numbers (0 = frozen, 1 = raw latest window).")][Range(0.05, 1)]public float smoothingMethods
Section titled “Methods”OnNode(int, int, float)
Section titled “OnNode(int, int, float)”public void OnNode(int nodeIndex, int activeVoices, float meter)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.Int32 |
nodeIndex |
System.Int32 |
activeVoices |
System.Single |
meter |
OnParameter(uint, float)
Section titled “OnParameter(uint, float)”public void OnParameter(uint id, float value)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.UInt32 |
id |
System.Single |
value |
OnVoice(int, float, int, int, bool)
Section titled “OnVoice(int, float, int, int, bool)”A Wave Player’s first live voice position - playhead in clip-rate frames, plus the clip’s own frame count.
public void OnVoice(int nodeIndex, float playhead, int clipFrames, int clipIndex, bool scheduled)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.Int32 |
nodeIndex |
System.Single |
playhead |
System.Int32 |
clipFrames |
System.Int32 |
clipIndex |
System.Boolean |
scheduled |
OnStatus(int, long)
Section titled “OnStatus(int, long)”public void OnStatus(int activeVoices, long clock)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.Int32 |
activeVoices |
System.Int64 |
clock |
OnTiming(int, int, int, long, int)
Section titled “OnTiming(int, int, int, long, int)”One node’s accumulated render cost this window (ProfilerUnsafeUtility ticks; convert with TimestampToNanosecondsConversionRatio). Sent only while DarkEffekt.Audity.AudityTelemetry.TraceRequested.
public void OnTiming(int instanceId, int nodeIndex, int kindIndex, long ticks, int blocks)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.Int32 |
instanceId |
System.Int32 |
nodeIndex |
System.Int32 |
kindIndex |
System.Int64 |
ticks |
System.Int32 |
blocks |
OnBlockTiming(int, long, long, int, long)
Section titled “OnBlockTiming(int, long, long, int, long)”Whole-render cost this window: DSP load = ticks-as-seconds over (frames/sampleRate).
public void OnBlockTiming(int instanceId, long ticks, long peakBlockTicks, int blocks, long frames)Parameters
Section titled “Parameters”| Type | Name |
|---|---|
System.Int32 |
instanceId |
System.Int64 |
ticks |
System.Int64 |
peakBlockTicks |
System.Int32 |
blocks |
System.Int64 |
frames |