FastScatterBitmapSeries ChartAdornmentInfo - very slow render time, unusable Zoom and Pan

Hi, I need to display few dozens of thousands points on multiple series at the same time. Some scatter, some line. All require different adornments to distinguish them. I also need to be able to zoom and pan. All works well enough if I use default series styles. 

Adding Adornment of any kind causes huge performance hit. Can't render more than about 2000 scatter points before delay is visible. With about 1000 points in chart and adornments on I can not pan or zoom - each operation takes few seconds per "tick". Am I doing something wrong or is there issue with the lib?

I have included sample project based on your sample that demonstrates the issue.

Cheers

Attachment: FastScatterAdorements_c7461b80.zip

3 Replies

SR Samuel Rajadurai Edwin Rajamanickam Syncfusion Team July 19, 2018 07:36 PM UTC

Hi Wojcieh, 
  
Thank you for using Syncfusion products. 
  
We have analyzed your requirement and we would like to inform you that adornments are not apparent while using more number of data points in series. So could you please share your real time application scenario. Also please share the series type and adornment symbol type used in your application this would be helpful for us to give better solution in this.  
  
Regards,
Samuel 



WI Wojciech Iliszko July 20, 2018 12:44 AM UTC

Thanks for reply.

My use case is not real time per say, but I could not accomplish performance for satisfactory user experience.
For sake of simplicity lets say I have data log of certain randomly reoccurring event. All I need is to display marker on timeline when the event occurred. Then examine hot spots when event was occurring more frequently.  For that I want to see whole timeline at the same time then zoom in and pan to inspect details (this is where other series would come into play).

I started exploring syncfusion Charts for my use case by adapting Weather Foreacsting wpf Demo to display Scatter chart with adornments.
Series: FastScatterBitmapSeries
Series Collection: ObservableCollection
Symbol: Plus
Data count: 1000
PrimaryAxis: CategoryAxis with Label formatted into DateTime
Series Animations: Off




SR Samuel Rajadurai Edwin Rajamanickam Syncfusion Team July 24, 2018 05:45 AM UTC

Hi Wojcieh, 
  
Thank you for the update. 
  
We have analyzed your requirement and achieved that by drawing the plus shape using custom bitmap series. The following code snippets helps you to achieve this requirement. 
  
Code Snippet 
  
Custom Series 
                     
    public class CustomFastBitmapSeries : FastScatterBitmapSeries 
    {       
        public override void CreateSegments() 
        {           
        } 
    } 

 
 
  
Custom Segment 
                     
    public class CustomFastBitmapSegment : FastScatterBitmapSegment 
    { 
        public override void Update(IChartTransformer transformer) 
        { 
             
        } 
    } 

 
 
  
Xaml 
                     
        <chart:SfChart >             
            … 
 
            <chart:FastScatterBitmapSeries XBindingPath="XValue"  
                                 YBindingPath="YValue" 
                                 ScatterWidth="5" ShowTooltip="True" 
                                 ScatterHeight="5" 
                                 ItemsSource="{Binding Data}"/> 
 
            <local:CustomFastBitmapSeries XBindingPath="XValue"  
                                 YBindingPath="YValue" 
                                 ScatterWidth="5"  
                                 ScatterHeight="5" 
                                 ItemsSource="{Binding Data}"/> 
        </chart:SfChart> 

 
 
  
We have prepared a sample based on this. Please find the sample from the following location.  
  
  
Please let us know if you have any queries.  
  
Regards,
Samuel
 


Loader.
Up arrow icon