NetworkPerformance Class |
This class manages measures of service quality of the network.
Namespace: OIV.RemoteViz.Rendering
The NetworkPerformance type exposes the following members.
Name | Description | |
---|---|---|
Equals | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) | |
GetHashCode |
Overrides GetHashCode().
(Inherited from SoNetBase.) | |
GetType | Gets the Type of the current instance. (Inherited from Object.) | |
ToString | Returns a string that represents the current object. (Inherited from Object.) |
Name | Description | |
---|---|---|
Bandwidth | Gets the estimated network bandwidth between the service and the client. | |
CalibrationEnabled | Enable or disable network performance calibration. | |
Latency | Gets the estimated network latency (round-trip time) between the service and the client. | |
MaxCalibrationDuration | 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.