How to Improve the Performance with Huge Number of Points?

6 posts, 0 answers
  1. Ahmed
    Ahmed avatar
    16 posts
    Member since:
    May 2014

    Posted 26 Jun 2014 Link to this post

    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






  2. Pavel R. Pavlov
    Admin
    Pavel R. Pavlov avatar
    1183 posts

    Posted 30 Jun 2014 Link to this post

    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.
     
  3. UI for WPF is Visual Studio 2017 Ready
  4. Ahmed
    Ahmed avatar
    16 posts
    Member since:
    May 2014

    Posted 30 Jun 2014 in reply to Pavel R. Pavlov Link to this post

    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






  5. Pavel R. Pavlov
    Admin
    Pavel R. Pavlov avatar
    1183 posts

    Posted 01 Jul 2014 Link to this post

    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.
     
  6. Shilpa
    Shilpa avatar
    43 posts
    Member since:
    Dec 2015

    Posted 15 Jun Link to this post

    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.

  7. Dinko
    Admin
    Dinko avatar
    206 posts

    Posted 16 Jun Link to this post

    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, lets 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.
Back to Top
UI for WPF is Visual Studio 2017 Ready