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 : EventArgsInheritance
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
actualFpsdouble-
The measured output frame rate for the last sampling window.
configuredFpsdouble-
The frame rate configured on the compositor.
framesDeliveredulong-
The total number of frames delivered at the compositor output since the current render session started (resets on every Stop/Start cycle).
lastFrameTimestampTimeSpan-
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
ConfiguredFps
Gets the target frame rate that was configured on the compositor at construction time.
public double ConfiguredFps { get; }Property Value
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
LastFrameTimestamp
Gets the presentation timestamp (PTS) of the most recent frame seen on the compositor output.
public TimeSpan LastFrameTimestamp { get; }