Table of Contents

Class RenderStatisticsEventArgs

Namespace
VisioForge.Core.Types.Events
Assembly
VisioForge.Core.dll

Provides data for periodic render-statistics events emitted by a real-time video compositor.

public class RenderStatisticsEventArgs : EventArgs

Inheritance

Inherited Members

Remarks

Use this payload to detect when the compositor cannot sustain the configured frame rate — for example, when too many inputs, high resolutions, or software decoders force the output rate below VisioForge.Core.Types.Events.RenderStatisticsEventArgs.ConfiguredFps. The measurement is taken on the compositor's mixed output before any fan-out to sinks, so it reflects what the compositor actually produced rather than what an individual sink consumed. Events are raised on a background thread; marshal to the UI thread before updating controls.

Constructors

RenderStatisticsEventArgs(double, double, ulong, TimeSpan)

Initializes a new instance of the VisioForge.Core.Types.Events.RenderStatisticsEventArgs class.

public RenderStatisticsEventArgs(double actualFps, double configuredFps, ulong framesDelivered, TimeSpan lastFrameTimestamp)

Parameters

actualFps double

The measured output frame rate for the last sampling window.

configuredFps double

The frame rate configured on the compositor.

framesDelivered ulong

The total number of frames delivered at the compositor output since the current render session started (resets on every Stop/Start cycle).

lastFrameTimestamp TimeSpan

The PTS of the most recent frame.

Properties

ActualFps

Gets the measured output frame rate, averaged over the last sampling window.

public double ActualFps { get; }

Property Value

double

ConfiguredFps

Gets the target frame rate that was configured on the compositor at construction time.

public double ConfiguredFps { get; }

Property Value

double

FramesDelivered

Gets the count of frames the compositor has delivered during the current render session. The counter resets to 0 every time the statistics probe is (re)installed — i.e. on every Stop/Start cycle — so it is monotonic within a session but not across sessions. Callers that need a process-wide total must accumulate it themselves between OnStop and OnStart.

public ulong FramesDelivered { get; }

Property Value

ulong

LastFrameTimestamp

Gets the presentation timestamp (PTS) of the most recent frame seen on the compositor output.

public TimeSpan LastFrameTimestamp { get; }

Property Value

TimeSpan