This is a migrated thread and some comments may be shown as answers.

How to Improve the Performance with Huge Number of Points?

5 Answers 238 Views
ChartView
This is a migrated thread and some comments may be shown as answers.
Ahmed
Top achievements
Rank 1
Ahmed asked on 26 Jun 2014, 09:08 AM
Hi,

I'm using RadCartesianChart, which has ScatterPointSeries, the series displays a huge number of points (around +60,000). The point template contains a path representing the visual of the point (The template is included in this post)

it takes around 20 seconds just to display the chart, and when I zoom in, the UI freezes for around 10 seconds and what makes it worse is these points are clickable.

Is there any way to display this much of point with good performance? I'm already using these rendering options (SnapsToDevicePixels="False" RenderOptions.BitmapScalingMode="NearestNeighbor")

<telerik:ScatterPointSeries.PointTemplate>
                        <DataTemplate>
                            <Path x:Name="PointMarker" 
                                            Stretch="Fill"
                                            Height="17"
                                            Fill="LightCyan"
                                            Stroke="Gray"
                                            StrokeThickness="1"
                                            Width="17"
                                            DragEnter="OnBasePointDragEnter"
                                            Drop="OnBasePointDrop"
                                            Tag="{Binding DataItem}"
                                            Data="F1 M 6.5,3.5 L 3.5,0.5 0.5,3.5 3.5,6.5 0.5,9.5 3.5,12.5 6.5,9.5 9.5,12.5 12.5,9.5 9.5,6.5 12.5,3.5 9.5,0.5 6.5,3.5 Z" />
                        </DataTemplate>
                    </telerik:ScatterPointSeries.PointTemplate>




Thanks,,

Ahmed






5 Answers, 1 is accepted

Sort by
0
Pavel R. Pavlov
Telerik team
answered on 30 Jun 2014, 11:04 AM
Hi Ahmed,

The series of the RadChartView expose the RenderOption property that can be used to improve the performance of the control. You can find more information on that matter in our Rendering article. In WPF we suggest using the Direct2DRenderOptions.

However, you need to keep in mind that when you set a PointTemplate to any series, you actually force the RadChartView control to create separate ContentPresenter for each DataItem. Hence, the greatest boost that you can apply to your application is to use the default point template.
What you can do to customize the data points, is to paint the them in different color. You can do this by using the DefaultVisualStyle property of the series (read more). When this property is set and the Direct2DRenderOptions.DefaultVisualsRenderMode is set to Batch, the RadChartView will use only one visual object for all data points.

Please note that you cannot set the Data property of the targeted Path. This is a limitation of the series and if you are interested in changing the value of the Path.Data property you can log a feature request in our feedback portal. Once logged, we will carefully follow the demand on that feature and based on that we will consider its implementation.

Regards,
Pavel R. Pavlov
Telerik
 
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos and start improving your app based on facts, not hunches.
 
0
Ahmed
Top achievements
Rank 1
answered on 30 Jun 2014, 09:45 PM
Thanks Pavel,

I can't find the required DLLs for Direct2D. In the rendering article, it says the required DLLs are in the installation folder, but I didn't find them.

If I set the render option to Batch, am I going to be able to make the datapoints interactive? (click, drag, etc..)

Thank you,
Ahmed






0
Pavel R. Pavlov
Telerik team
answered on 01 Jul 2014, 12:26 PM
Hi Ahmed,

The Direct2D binaries are available in our latest official release. Please confirm that you are trying to find them in our latest release. Please note that you can download the binaries from your Telerik account.

As for the interactivity of the points, you can try to use our EventToCommandBehavior.

Regards,
Pavel R. Pavlov
Telerik
 
Check out Telerik Analytics, the service which allows developers to discover app usage patterns, analyze user data, log exceptions, solve problems and profile application performance at run time. Watch the videos and start improving your app based on facts, not hunches.
 
0
Shilpa
Top achievements
Rank 1
answered on 16 Jun 2016, 03:50 AM

Hi Pavel,

I am facing a performance issue in RadCartesianChart where I am using ScatterLineSeries with 500 points in each curve. I am using a Point Template in order to show the tooltip on the defined points on Curve. But the UI is freezing for some time during rendering of series. If I remove the Point Template there no freezing issue, but I am not able to display tooltip. Also I am not using Direct2D as I cannot find it. Could you please help me in resolving the UI hang/freeze ? Please reply! Thanks in advance.

0
Dinko
Telerik team
answered on 16 Jun 2016, 02:39 PM
Hello Shilpa,

The question seems to be a duplicate of the one you ask in the forum thread with ID number 1043573. I already answered your question in the other support ticket. In order to avoid duplication, continue in the other thread. Also, I would ask you to keep the communication on a particular question in a single thread. This way the flood in the forum will be avoided and the searching will be easier.

Thank you for the understanding.

Regards,
Dinko
Telerik
Do you need help with upgrading your AJAX, WPF or WinForms project? Check the Telerik API Analyzer and share your thoughts.
Tags
ChartView
Asked by
Ahmed
Top achievements
Rank 1
Answers by
Pavel R. Pavlov
Telerik team
Ahmed
Top achievements
Rank 1
Shilpa
Top achievements
Rank 1
Dinko
Telerik team
Share this question
or