views:

233

answers:

4

I've been looking into Silverlight charting controls to display a large number of samples, (~10,000 data points in five separate series - ~50k points all up).

I have found the existing options produced by Dundas, Visifire, Microsoft etc to be extremely poor performers when displaying more than a few hundred data points.

I believe the performance issues with existing chart controls is caused by the heavy use of vector graphics. Ergo one solution would be a client-side chart control that uses the WritableBitmap class to generate a raster chart.

Before I fall too far down the wheel re-invention rabbit hole - has anyone found a third party or OSS control that will manage large numbers of data points on a sparkline?

A: 

Have you looked at the Telerik charting controls? Here is a link to one of their demos where they are using 100.000 data points:
http://demos.telerik.com/silverlight/#Chart/Sampling

I should also mention that I have not used the charting controls myself, so I cannot vouch for them. But the demos look good to me.

Henrik Söderlund
A: 

Before you start playing around with WritableBitmap on your own take a look at WriteableBitmapEx from René Schulte, he blogs about it here. Awesome stuff.

AnthonyWJones
Excellent suggestion! I've since had a fiddle with WritableBitmapEx to write a small game, but haven't gotten started on anything charts wise quite yet.Quite a nice library. Thanks Anthony.
ahosie
A: 

I don't know of any OSS or 3rd party controls that'll do what you need.

The one case where I've had the need for 100K+ of datapoints, we made it work by keeping it simple. The biggest perf killer was the number of elements within each datapoint. By keeping the element a simple ellipse with a static brush fill the app was rather snappy.

Graeme Bradbury
A: 

Infragistics claims to be able to handle massive amounts of data in their recently released xamDataChart.

http://www.infragistics.com/dotnet/netadvantage/silverlight/data-visualization/xam-web-data-chart.aspx#Overview

Mike