Jump to content
Software FX Community

Can you combine realtime with the ListProvider approach?


User (Legacy)

Recommended Posts

The problem:

- Display up to several dozen line series with up to 1000 on-screen samples

each.

- Each series may contain a 100,000 samples or more (though we will only be

viewing a 1000 at a time)

- Each series may have different start-stop times and may contain data gaps

- I need to be able to read in new data on the fly, and possibly massage the

data before passing it to teh chart

What I have currently implemented is an internal buffer for each series and

blast the points in thusly:

DataSourceSettings.DataSource = _myBufferedSeriesManager.ListProvider;

The series manager exposes these internal buffers in the form of a

ListProvider so that the chart can access the data.

Everytime I refill my internal buffers (after a scrollbar event for

example), I use similar code to blast in the new data.

_myBufferedSeriesManager.RefreshAllYourSeriesBuffers();

DataSourceSettings.DataSource = _myBufferedSeriesManager.ListProvider;

How inefficient is this? My biggest concern is that it seems to be doing a

complete copy of the data into it's own internal buffers, and rebuilding

everything. Ideally, I'd love to be able to change just the point values

directly and tell the chart to refresh the lines.

Alternatively, the rolling buffer approach of the realtime system seems like

it could work. Is it possible to combine the realtime approach with the

ListProvider method somehow?

Any suggestion as to what approaches i should try would be most welcome.

Thanks!

- Lance Grooms

Link to comment
Share on other sites

You can initialize the chart using the List Provider and later use the API 

to change the values as they get changed or added using the Real-Time API,

you can combine both DataBinding and API data calls without any problems.

You DO need to use the data API if you want to just change a few points or

add to the circular buffer, calling GetExternalData or DataBinding reads the

whole set of data replacing that's currently in the chart.

--

Francisco Padron

www.chartfx.com

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...