Click or drag to resize
NetworkPerformance Class

This class manages measures of service quality of the network.

Inheritance Hierarchy

Namespace: OIV.RemoteViz.Rendering
Assembly: OIV.RemoteViz (in OIV.RemoteViz.dll) Version: 2023.2.2.0 (2023.2.2)
public sealed class NetworkPerformance : SoNetBase

The NetworkPerformance type exposes the following members.

Public methodEquals
Determines whether the specified Object is equal to the current Object.
(Inherited from Object.)
Public methodGetHashCode
Overrides GetHashCode().
(Inherited from SoNetBase.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Public propertyBandwidth

Gets the estimated network bandwidth between the service and the client.

Public propertyCalibrationEnabled

Enable or disable network performance calibration.

Public propertyLatency

Gets the estimated network latency (round-trip time) between the service and the client.

Public propertyMaxCalibrationDuration

Sets the network performance calibration maximum duration in milliseconds.


RemoteViz will pass an instance of this class to the methods OIV.RemoteViz.Rendering.ServiceListener.OnConnectedClient(System.String, OIV.RemoteViz.Rendering.NetworkPerformance) and OIV.RemoteViz.Rendering.ServiceListener.OnInitializedClient(OIV.RemoteViz.Rendering.Client, OIV.RemoteViz.Rendering.NetworkPerformance).

If calibration is enabled (true by default), RemoteViz will measure available network bandwidth and latency when a client first connects to the service (between the onConnectedClient and onInitializedClient calls) and store the values in this object. These measures are used to adjust image quality or frames per second (see OIV.RemoteViz.Rendering.ConnectionSettings.SetFrameEncodingPolicy(OIV.RemoteViz.Rendering.IFrameEncodingPolicy)). The default implementation of OIV.RemoteViz.Rendering.ServiceListener.OnInitializedClient(OIV.RemoteViz.Rendering.Client, OIV.RemoteViz.Rendering.NetworkPerformance) will query the measured bandwidth value (()) and call ().

To measure available network bandwidth, RemoteViz has to cause network congestion, which implies that the user is blocked for a period of time. Therefore RemoteViz only measures network bandwidth once for each client, when the client first connects (and only if calibration is enabled). To disable calibration or change the duration of the calibration, implement the OIV.RemoteViz.Rendering.ServiceListener.OnConnectedClient(System.String, OIV.RemoteViz.Rendering.NetworkPerformance) method.

See Also