Hello,
I am using 4-8 sparklines in one window.
Each getting new points (new ItemSource) twice/three times a second (using DataBinding).
The problem is that when I am trying to do other things in my window (for example opening a menu), the app takes time to respond.
I believe that the reason for that is the amount of refreshes a second.
I have three questions regarding that problem:
1. Is sparkline the right control for my needs? Is there another one you would recommend?
2. Is there any way to wait until I have the new points for all of my sparklines and only than refresh them all at once instead of each at a different time?
3. What is the cause for this problem? is it the GPU/CPU/Memory? (I believe that it has nothing to do with the other parts of my app because only when I added the sparklines this problem appeared)
Thank you in advance
<!-- Start Graphic Control --><telerik:RadChart ItemsSource="{Binding GraphicValueList}" x:Name="chart" HorizontalAlignment="Stretch"> <telerik:RadChart.SeriesMappings> <!--Pen 1 Y-Axis--> <telerik:SeriesMapping CollectionIndex="0"> <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.GroupingSettings> <telerik:GroupingSettings> <telerik:GroupingSettings.GroupDescriptors> <telerik:ChartGroupDescriptor Member="PenName" /> </telerik:GroupingSettings.GroupDescriptors> </telerik:GroupingSettings> </telerik:SeriesMapping.GroupingSettings> <telerik:ItemMapping DataPointMember="XValue" FieldName="ProductionDate" /> <telerik:ItemMapping DataPointMember="YValue" FieldName="GenericValue" /> </telerik:SeriesMapping> <!--Pen 2 Y-Axis--> <telerik:SeriesMapping CollectionIndex="1" > <telerik:SeriesMapping.SeriesDefinition> <telerik:LineSeriesDefinition ShowItemLabels="False" AxisName="Pen2" /> </telerik:SeriesMapping.SeriesDefinition> <telerik:SeriesMapping.GroupingSettings> <telerik:GroupingSettings> <telerik:GroupingSettings.GroupDescriptors> <telerik:ChartGroupDescriptor Member="PenName" /> </telerik:GroupingSettings.GroupDescriptors> </telerik:GroupingSettings> </telerik:SeriesMapping.GroupingSettings> <telerik:ItemMapping DataPointMember="XValue" FieldName="ProductionDate" /> <telerik:ItemMapping DataPointMember="YValue" FieldName="GenericValue" /> </telerik:SeriesMapping> </telerik:RadChart.SeriesMappings> <telerik:RadChart.DefaultView > <telerik:ChartDefaultView > <telerik:ChartDefaultView.ChartLegend> <telerik:ChartLegend x:Name="legend" VerticalAlignment="Top" HorizontalAlignment="Center" > </telerik:ChartLegend> </telerik:ChartDefaultView.ChartLegend> <telerik:ChartDefaultView.ChartArea> <telerik:ChartArea LegendName="legend" EnableAnimations="False">
<telerik:ChartArea.AxisX> <telerik:AxisX Title="Date" MinorTicksVisibility="Collapsed" IsDateTime="True" /> </telerik:ChartArea.AxisX> <!--Pen 1 Y-Axis--> <telerik:ChartArea.AxisY> <telerik:AxisY Title="Pen 1 Values" MinorTicksVisibility="Collapsed"> </telerik:AxisY> </telerik:ChartArea.AxisY> <!--Pen 2 Y-Axis--> <telerik:ChartArea.AdditionalYAxes> <telerik:AxisY AxisName="Pen2" Title="Pen 2 Values" MinorTicksVisibility="Collapsed"> </telerik:AxisY> </telerik:ChartArea.AdditionalYAxes> </telerik:ChartArea> </telerik:ChartDefaultView.ChartArea> </telerik:ChartDefaultView> </telerik:RadChart.DefaultView></telerik:RadChart><!-- End Graphic Control -->
<Page x:Class="ENG_120319.Page1" xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" xmlns:Navigation="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.Navigation" xmlns:telerikg="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView" mc:Ignorable="d" d:DesignHeight="416" d:DesignWidth="1203" Title="Page1"> <Grid> <TabControl Height="392" HorizontalAlignment="Left" Margin="12,12,0,0" Name="tabControl1" VerticalAlignment="Top" Width="1177"> <TabItem Header="Support Docs" Name="tabSD"> <Grid> <telerik:RadGridView ClipboardCopyMode="All" ClipboardPasteMode="AllSelectedCells,Cells" AutoGenerateColumns="False" ItemsSource="{Binding Path=SupDocList}" Margin="6,10,6,6" Name="radGridView1" SelectedItem="{Binding Path=CurrentVCategory, Mode=TwoWay}" SelectionMode="Extended" SelectionUnit="Cell" ShowGroupPanel="False" FontSize="10" RowHeight="20"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding SupDocID}" HeaderTextAlignment="Center" Header="Sup Doc ID" Width="70" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding DocCode}" HeaderTextAlignment="Center" Header="Doc List Code" Width="70" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding DocName}" Header="Doc List Name" Width="200" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding StartDate}" DataFormatString=" {0:dd/MM/yyyy}" HeaderTextAlignment="Center" Header="Start Date" Width="100" /> </telerik:RadGridView.Columns> <!-- <Navigation:RadContextMenu.ContextMenu> <Navigation:RadContextMenu Opened="OnContextMenuOpened"> <Navigation:RadMenuItem Command="{Binding AddCommand}" Header="Add a new line" /> <Navigation:RadMenuItem Command="{Binding EditCommand}" Header="Save" /> <Navigation:RadMenuItem Command="{Binding DeleteCommand}" Header="Delete" /> </Navigation:RadContextMenu> </Navigation:RadContextMenu.ContextMenu>--> </telerik:RadGridView> </Grid> </TabItem> <TabItem Header="Handover Docs" Name="tabHO"> </TabItem> </TabControl> </Grid></Page>