Class KeepFramesPerSecondPolicy
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.remoteviz.rendering.IFrameEncodingPolicy
-
- com.openinventor.remoteviz.rendering.KeepFramesPerSecondPolicy
-
public class KeepFramesPerSecondPolicy extends IFrameEncodingPolicy
This class provides a calculation policy which allows to manage the FPS (frames per second) and the quality of interactive frames sent from Remoteviz service depending on the network bandwidth allocated to theConnection
. If theClient
owns multiple connections, the network bandwidth allocated to eachConnection
will be equitably shared. Otherwise, the network bandwidth allocated to theConnection
will be equal to the network bandwidth allocated to theClient
. The network bandwidth allocated to theClient
can be defined fromClientSettings.setBandwidth
. This policy works as described below:- When the network bandwidth allocated to the
Connection
decreases, the FPS value will keep the FPS target value and the frame quality will decrease. - If the frame quality decreases until the frame quality threshold, then the FPS will start to decrease.
- When the network bandwidth allocated to the
Connection
increases, the FPS will increase until it reaches the FPS target and then the frame quality will increase until it reaches the frame quality target.
See
ConnectionSettings.setFrameEncodingPolicy
to define the frame encoding policy.- See Also:
KeepFrameQualityPolicy
- When the network bandwidth allocated to the
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
-
Field Summary
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Constructor Summary
Constructors Constructor Description KeepFramesPerSecondPolicy()
Constructor.KeepFramesPerSecondPolicy(int fpsTarget, float qualityTarget, float qualityThreshold)
Convenience Constructor.
-
Method Summary
-
Methods inherited from class com.openinventor.remoteviz.rendering.IFrameEncodingPolicy
getFrameQuality, getFramesPerSecond, update
-
Methods inherited from class com.openinventor.inventor.Inventor
dispose, getNativeResourceHandle
-
-
-
-
Constructor Detail
-
KeepFramesPerSecondPolicy
public KeepFramesPerSecondPolicy(int fpsTarget, float qualityTarget, float qualityThreshold)
Convenience Constructor.- Parameters:
fpsTarget
- : FPS target, the value range is [1, 60].qualityTarget
- : frame quality target, the value range is [0, 1].qualityThreshold
- : frame quality threshold, the value range is [0, 1]. (qualityThreshold <= qualityTarget)
-
KeepFramesPerSecondPolicy
public KeepFramesPerSecondPolicy()
Constructor. The FPS target will be set to 30.
The frame quality target will be set to 0.7.
The frame quality threshold will be set to 0.3.
-
-