Package org.jzy3d.chart.controllers
Class RateLimiterAdaptsToRenderTime
- java.lang.Object
-
- org.jzy3d.chart.controllers.RateLimiterByMilisecond
-
- org.jzy3d.chart.controllers.RateLimiterAdaptsToRenderTime
-
- All Implemented Interfaces:
RateLimiter
public class RateLimiterAdaptsToRenderTime extends RateLimiterByMilisecond implements RateLimiter
This rate limiter keeps an history of past rendering time to auto configure the rate limit and ensure we stick to actual rendering time before doing an action. This rate limiter is useful to ensure a controller such as mouse or thread won't ask more rendering than possible. The time limit is computed as follow- Compute the maximum rendering time in the list of the 10 last rendering time
- Adds a 20ms margin
-
-
Field Summary
Fields Modifier and Type Field Description protected ICanvas
canvas
-
Fields inherited from class org.jzy3d.chart.controllers.RateLimiterByMilisecond
RATE_LIMIT, rateLimitMilis, rateLimitStarted, t
-
-
Constructor Summary
Constructors Constructor Description RateLimiterAdaptsToRenderTime()
RateLimiterAdaptsToRenderTime(ICanvas canvas)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
adaptRateLimitToRenderTimeHistory()
ICanvas
getCanvas()
protected double
getLastRenderingTimeFromCanvas()
protected double
max(Queue<Double> renderingTimeHistory)
boolean
rateLimitCheck()
Returns true if the canvas is NOT renderingvoid
setCanvas(ICanvas canvas)
-
-
-
Field Detail
-
canvas
protected ICanvas canvas
-
-
Constructor Detail
-
RateLimiterAdaptsToRenderTime
public RateLimiterAdaptsToRenderTime(ICanvas canvas)
-
RateLimiterAdaptsToRenderTime
public RateLimiterAdaptsToRenderTime()
-
-
Method Detail
-
rateLimitCheck
public boolean rateLimitCheck()
Returns true if the canvas is NOT rendering- Specified by:
rateLimitCheck
in interfaceRateLimiter
- Overrides:
rateLimitCheck
in classRateLimiterByMilisecond
- Returns:
-
adaptRateLimitToRenderTimeHistory
protected void adaptRateLimitToRenderTimeHistory()
-
getLastRenderingTimeFromCanvas
protected double getLastRenderingTimeFromCanvas()
-
getCanvas
public ICanvas getCanvas()
-
setCanvas
public void setCanvas(ICanvas canvas)
-
-