User (Legacy) Posted January 2, 2006 Report Share Posted January 2, 2006 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 More sharing options...
Software FX Posted January 3, 2006 Report Share Posted January 3, 2006 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 More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.