The Syncfusion native Blazor components library offers 70+ UI and Data Viz web controls that are responsive and lightweight for building modern web apps.
.NET PDF framework is a high-performance and comprehensive library used to create, read, merge, split, secure, edit, view, and review PDF files in C#/VB.NET.
I ran this simple test on Syncfusion, Infragistics and ComponentOne
I really wanted to use Syncfusion because of some pluses like your DocIO library etc. But the Chart is not performing well at all compared to competitors.
All 3 are dead simple Line Scatter plots.
I tried throwing 10,000 points at each.
Syncfusion rolled over and died on resize, used the most memory, and axis labels collided.
C1 Didn't blink an eye on resize, used 1/3 the memory, and axises were intelligently calculated.
Infragistics was close behind C1 but coding is a very tedious. But you coudl definitely see it drawing slow on resize.
Just sharing my experience in case I'm doing something really dumb and give you guys a chance to perhaps fix it.
cs file
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using Syncfusion.Windows.Tools.Controls; using Syncfusion.Windows.Chart; using C1.WPF.C1Chart; using Infragistics.Windows.Chart;
namespace EssentialRibbonApplication { /// /// Interaction logic for Essential WPF RibbonWindow1.xaml /// public partial class RibbonWindow1 : RibbonWindow { public RibbonWindow1() { InitializeComponent();
// Try Bump each of these to 10000 one at a time
int numpoints_sync = 10; // 216K @ 10000 Unusable Resize Axis Labels Colide int numpoints_c1 = 10; // 68K @ 10000 Fast Resize Axis Labels Perfect int numpoints_infra = 10; // 68K @ 10000 Slugish Resize Axis Label Good but sometimes tiny font
#region syncfusion ChartListData x = new ChartListData(); for (int i = 0; i < numpoints_sync; i++) { x.AddPoint(i*i, i*2+1); } syncdata.Data = x; #endregion
#region C1 var v = new DoubleCollection(); var w = new DoubleCollection(); for (int i = 0; i < numpoints_c1; i++) { w.Add(i*i); v.Add(i * 2 + 1); } s1.Values = v; s1.XValues = w; #endregion
#region infragistics Series f = new Series(); f.ChartType = Infragistics.Windows.Chart.ChartType.ScatterLine; for (int i = 0; i < numpoints_infra; i++) { Infragistics.Windows.Chart.DataPoint p = new Infragistics.Windows.Chart.DataPoint(); var l = new ChartParameter(); l.Type = ChartParameterType.ValueX; l.Value = i*i; var m = new ChartParameter(); m.Type = ChartParameterType.ValueY; m.Value = i*2 + 1; p.ChartParameters.Add(l); p.ChartParameters.Add(m); f.DataPoints.Add(p); } xamChart1.Series.Add(f);
JNJayakumar Natarajan Syncfusion Team August 24, 2009 09:55 PM UTC
Hi George, Thanks for evaluating Syncfusion products.
We have a 'FastLine' ChartType that just creates one content presenter and does direct rendering. You could customize the Axis labels with different formats to avoid overlapping.
Please have a look at the attached sample and let us know you have any specific questions.
The "custom" axis is a work around, but the chart should be smart enough to do the right thing on it's own. Rotate text can use up a lot of margin too.
As I resize the other charts they add/remove labeled tics, adjust fonts and in some even cases automatically rotate it.
A "smart" axis is a huge part of good chart.
JNJayakumar Natarajan Syncfusion Team August 25, 2009 09:17 PM UTC
Hi George, Thanks for the update. We will consider the smart axis as a FeatureRequest and get this implemented for the upcoming release.
For now, you could handle the Chart sizechanged event and adjust the axis's IntervalCount and Grid's TicksPerIntervalCount to get this working. We will work on a sample and will update you.
Best regards, Jay
PIPoorani Idhaya Bala M.A Syncfusion Team August 28, 2009 05:24 AM UTC
Hi ,
Thanks for your interests in Syncfusion products.
We have handled the Chart sizechanged event and adjust the interval to achieve the smart axis effect. Please find the modified sample . Let us know if you have any questions.