Even if DataAccelerator is not used, ChartDirector can often achieve adequate performance for up to a few million data points depending on chart complexity. That means you do not need to use DataAccelerator if you have less than 100000 data points.
Each DataAccelerator can support one x data series shared by multiple y data series. Multi-threading can be used to process the series in parallel. You can use multiple DataAccelerator objects if you have multiple x data series.
The DataAccelerator needs around 12 bytes of RAM per data value. Since the application must store the data in RAM before passing it to DataAccelerator, it needs at least 8 bytes per double precision number. That means the application would consume around 20 bytes per value, or 20G of RAM for 1 billion values.
In the current version of ChartDirector, only XY chart line layers can support DataAccelerator with the XYChart.addLineLayer3 method. Area charts can be created from line layers with XYChart.addInterLineLayer.
Method | Inherited | Description |
---|---|---|
DataAccelerator | (Self) | Creates a DataAccelerator object. |
addDataSeries | (Self) | Adds a data series. |
extendLength | (Self) | Extends the number of valid values in the arrays. |
setSubsetRange | (Self) | Set the data range used for chart plotting. |