This thread looks to be a little on the old side and therefore may no longer be relevant. Please see if there is a newer thread on the subject and ensure you're using the most recent build of any software if your question regards a particular product.
This thread has been locked and is no longer accepting new posts, if you have a question regarding this topic please email us at support@mindscape.co.nz
|
Hello I wonder if the graph component in wpf elements has any kind of caching functionality to keep the performance up even if the data series contain a large amount of data points. We are on the verge of implementing a caching functionality in our application because of the large data sets we sometimes retrieve from the database. So we are wondering if that implementation is needed or if we can use any built in caching functionality in the graph component. Will there be any performance gain if we implement our own caching mechanism and limit the data in the data series to the visible range? /N |
|
|
Hello Nicklas The chart controls don't have any caching, but they can handle several million data points in a single series with good performance. So if you give a chart series a collection with millions of points, it will only render the points within the viewport (Virtualization technique). If grabbing the data from the database is slow, then yes you will need to implement a smart system to improve the performance of grabbing the data. You could do this by setting the viewport of the chart to display a fraction of the data, and start by only getting the data for that range (Data-Virtualization technique). This works best if you know the minimum and maximum points on the independent axis, though is not always necessary. Another alternative is to grab every Nth data point from the database. This works best if the chart starts out at 100% zoom. If the data is dense within the viewport, then skipping every Nth data point will be barely noticeable. You could even make a hybrid of these two techniques which is what the charts do when rendering the data. Then you can load additional data in the background or/and load data when the user zooms or pans the viewport. -Jason Fauchelle |
|