Hello,
I need to draw tens of thousands points on TChart. I tried with 5000 and 50000 points.
I attached sample project with TChart and GridSplitter. By moving the splitter I noticed very large delay which is not acceptable.
Is there any way to draw such a large number of points in SilverLight ?
Regards.
SilverLight: Large sets of data (50000 points)
SilverLight: Large sets of data (50000 points)
- Attachments
-
- SilverlightApplication1.rar
- (1.2 KiB) Downloaded 411 times
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Re: SilverLight: 50000 points - very slow.
Hi jarp,
I'm sorry but I'm not able to build an application with the files you sent. Can you please send a simple example project we can run "as-is" to reproduce the problem here?
Thanks in advance.
I'm sorry but I'm not able to build an application with the files you sent. Can you please send a simple example project we can run "as-is" to reproduce the problem here?
Thanks in advance.
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Re: SilverLight: Large sets of data (50000 points)
Hi jarp,
Thanks for the project!
First of all, notice that important performance enhancements have been implemented in TeeChart.Silverlight.dll for next maintenance release, due out in about 2 weeks.
Anyway, it's possible enhancing your application's performance using FastLine’s DrawAllPoints property set to false or DownSampling function. You’ll find examples of those features at the sections below in the features demo, available at TeeChart’s program group.
All Features\Welcome !\Chart styles\Standard\Fast Line\Fast Line Speed DrawAll
All Features\Welcome !\Functions\Extended\Reducing number of points
Adding DrawAllPoints=false to your code, as shown below, highly increases application's performance.
Hope this helps!
Thanks for the project!
First of all, notice that important performance enhancements have been implemented in TeeChart.Silverlight.dll for next maintenance release, due out in about 2 weeks.
Anyway, it's possible enhancing your application's performance using FastLine’s DrawAllPoints property set to false or DownSampling function. You’ll find examples of those features at the sections below in the features demo, available at TeeChart’s program group.
All Features\Welcome !\Chart styles\Standard\Fast Line\Fast Line Speed DrawAll
All Features\Welcome !\Functions\Extended\Reducing number of points
Adding DrawAllPoints=false to your code, as shown below, highly increases application's performance.
Code: Select all
public MainPage()
{
InitializeComponent();
Chart1.Series.Add(new Steema.TeeChart.Silverlight.Styles.FastLine());
//((Steema.TeeChart.Silverlight.Styles.Points)Chart1.Series[0]).Pointer.Style = Steema.TeeChart.Silverlight.Styles.PointerStyles.SmallDot;
Chart1.Series[0].FillSampleValues(50000);
(Chart1[0] as Steema.TeeChart.Silverlight.Styles.FastLine).DrawAllPoints = false;
}
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |
Re: SilverLight: Large sets of data (50000 points)
Hello,
Actually I need to draw Points series not the Line. I tried with downsampling tool but it doesn't seem to work.
Are the performance enhancements implemended in next release will cope with a large number of points ?
Regards
Actually I need to draw Points series not the Line. I tried with downsampling tool but it doesn't seem to work.
Code: Select all
Steema.TeeChart.Silverlight.Styles.Points points = new Steema.TeeChart.Silverlight.Styles.Points();
points.Pointer.Style = Steema.TeeChart.Silverlight.Styles.PointerStyles.SmallDot;
points.FillSampleValues(50000);
Chart1.Series.Add(points);
Steema.TeeChart.Silverlight.Functions.DownSampling downsampling1 = new Steema.TeeChart.Silverlight.Functions.DownSampling();
downsampling1.Tolerance = 100.0;
downsampling1.Method = Steema.TeeChart.Silverlight.Functions.DownSamplingMethod.Average;
points.Function = downsampling1;
Are the performance enhancements implemended in next release will cope with a large number of points ?
Regards
-
- Site Admin
- Posts: 14730
- Joined: Mon Jun 09, 2003 4:00 am
- Location: Banyoles, Catalonia
- Contact:
Re: SilverLight: Large sets of data (50000 points)
Hi jarp,
What about doing as in the code snippet below? It works pretty well for me here.
What about doing as in the code snippet below? It works pretty well for me here.
Code: Select all
public MainPage()
{
InitializeComponent();
Chart1.Series.Add(new Steema.TeeChart.Silverlight.Styles.Points());
//((Steema.TeeChart.Silverlight.Styles.Points)Chart1.Series[0]).Pointer.Style = Steema.TeeChart.Silverlight.Styles.PointerStyles.SmallDot;
Chart1.Series[0].FillSampleValues(50000);
Chart1.Aspect.View3D = false;
Steema.TeeChart.Silverlight.Functions.DownSampling downSampling1 = new Steema.TeeChart.Silverlight.Functions.DownSampling(Chart1.Chart);
Steema.TeeChart.Silverlight.Styles.Points points1 = new Steema.TeeChart.Silverlight.Styles.Points(Chart1.Chart);
points1.DataSource = Chart1[0];
downSampling1.Tolerance = 10.0;
downSampling1.Method = Steema.TeeChart.Silverlight.Functions.DownSamplingMethod.Average;
downSampling1.DisplayedPointCount = Chart1[0].Count / (int)downSampling1.Tolerance;
points1.Function = downSampling1;
Chart1[0].Active = false;
Chart1[0].ShowInLegend = false;
}
Best Regards,
Narcís Calvet / Development & Support Steema Software Avinguda Montilivi 33, 17003 Girona, Catalonia Tel: 34 972 218 797 http://www.steema.com |
Instructions - How to post in this forum |