We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. Image for the cookie policy date

SfSchedule v13.3.0.12 sluggish

Using the sfSchedule control with some elements works fine, but when we have a production level data make the control unusable according to my customer, well I tried it and applied the Performance Diagnosis to it, and voila

Here you will see that every time I go into the schedule control it takes 100% UI utilization (Orange bars) - PerfAndDiag.png File
I also included what the screen looks like in sfScheduleDisplay.png

It seems that when you have more than 10 things it so slow it hurts :-D

Any help you be appreciated.
Thanks,
Jean

Attachment: SfSchedule_48f67f5.zip

9 Replies

VR Vigneshkumar Ramasamy Syncfusion Team November 30, 2015 01:37 PM UTC

Hi Jean,

Thanks for using Syncfusion product.

We working to reproduce this in sample level. Could you please provide more information about the scenario in which did you get this issue.so that we can analyze furthermore and provide you the possible solution?

Regards

Vigneshkumar R



JT Jean Teneglio November 30, 2015 03:09 PM UTC

Vigneshkumar

Here is what we do, we get from the database all appointments for a day , all these appointment are linked a specific employee, For example, one employee works from 7:30am to 4pm, An Appointment can be from 15 minutes to 2 hours, The goal for the company is to fill up all the employees (10 of them) to the maximum capacity, so as you can see they are quite successful at filling up their days. each of these Appointments are rendered via a DataTemplate similar to this one

<DataTemplate x:Name="AppointmentTemplate">
<Grid Margin="-4,-4,-4,-4">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.Row="0" Visibility="{Binding Type, ConverterParameter=Schedule, Converter={StaticResource AppointmentTypeToVisibilityConverter}}">
<Border Background="{Binding EmployeeColorCode, Converter={StaticResource ColorConverter}}"   />
</Grid>
<Grid Grid.Row="0" Visibility="{Binding Type, ConverterParameter=Appointment, Converter={StaticResource AppointmentTypeToVisibilityConverter}}">
<Grid.RowDefinitions>
<RowDefinition Height="10" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Border Grid.Row="0" Background="{Binding EmployeeColorCode, Converter={StaticResource ColorConverter}}"   />
<ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" >
<Grid Background="{Binding BackgroundColorCode, Converter={StaticResource ColorConverter}}">
                        <Grid.RowDefinitions>
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="auto" />
                            <RowDefinition Height="*" />
                        </Grid.RowDefinitions>
                        <Grid.ColumnDefinitions>
<ColumnDefinition Width="10" />
                            <ColumnDefinition Width="*" />
<ColumnDefinition Width="30" />
</Grid.ColumnDefinitions>
<Border Grid.Row="1" Grid.RowSpan="6" Grid.Column="0" Background="{Binding TaskColorCode, Converter={StaticResource ColorConverter}}"   />
<TextBlock Margin="2,2,0,0" Text="&#xE133;" FontFamily="Segoe UI Symbol" FontSize="20" Grid.Row="1" Grid.Column="1" Foreground="White" />
<TextBlock Margin="0,2,20,0" Text="{Binding SaleQuoteItemSequence}" Grid.Row="1" Grid.Column="2" HorizontalAlignment="Right" Foreground="White" Style="{StaticResource AppointementHeaderStyle}" />
<TextBlock Margin="2,2,0,0" Text="{Binding CustomerName}" Grid.Row="2" Grid.Column="1" Foreground="White" Style="{StaticResource AppointementHeaderStyle}" />
<TextBlock Margin="2,2,0,0" Text="{Binding CustomerPhoneNumber}" Grid.Row="3" Grid.Column="1" Foreground="White" Style="{StaticResource AppointementHeaderStyle}" />
<TextBlock Margin="2,2,0,0" Text="{Binding CustomerAdress}" Grid.Row="4" Grid.Column="1" Foreground="White" Style="{StaticResource AppointementHeaderStyle}" />
                        <TextBlock Margin="2,2,0,0" Text="{Binding VehicleDescription}" Grid.Row="5" Grid.Column="1" Foreground="White" Style="{StaticResource AppointementHeaderStyle}" />
                        <StackPanel Grid.Row="6" Grid.Column="1" Margin="2,2,0,0" Orientation="Horizontal">
<TextBlock Margin="0,0,5,0" Text="{Binding SaleQuoteItemServiceID}"  Foreground="White" Style="{StaticResource AppointementHeaderStyle}" />
<TextBlock Text="{Binding SaleQuoteItemServiceTitle}"  Foreground="White" Style="{StaticResource AppointementHeaderStyle}" Width="180" TextWrapping="Wrap"/>
</StackPanel>
</Grid>
</ScrollViewer>
</Grid>
</Grid>
</DataTemplate>
Let me know if you need more details



VR Vigneshkumar Ramasamy Syncfusion Team December 1, 2015 11:52 AM UTC

Hi Jean,

Thanks for the provided information.

We have analyzed the UI utilization issue with the shared information and based on the analysis we have found that there are more convertors used in appointment template. By adding more weight to the template in xaml(here appointment template), UI loading time will affect and thereby it will takes more UI utilization. Instead of using convertors you can directly bind corresponding datatype values to the property, this may increase the UI loading performance.

Please let us know if you have any concern.

Regards

Vigneshkumar R



JT Jean Teneglio December 1, 2015 05:51 PM UTC

You were somewhat right, by removing ONLY this line from my data template it made things useable
<ScrollViewer Grid.Row="1" HorizontalScrollBarVisibility="Hidden" VerticalScrollBarVisibility="Auto" >
</ScrollViewer>

So thanks for the hint.


JO Joy Oyiess Rex  K Syncfusion Team December 7, 2015 08:51 AM UTC

Hi Jean,

We are glad to know that the mentioned issue was resolved. Please let us know if you need any further assistance.

Regards
Joy Rex.


JT Jean Teneglio December 8, 2015 02:48 PM UTC

Now that this works better, here is a new MAJOR issue for us,
When I enter the page with the sfSchedule control on it, it behaves properly, but if I get out of that page , everything else slows down, as if the sfschedule control took the CPU. If I go back in again it slows down more and more .

As you can see in the included screen shot, the second bump in the graph is when I go back in the sfSchedule page

Any Ideas?

Thanks


Attachment: sfSchedulerPerf_8730ed41.zip


VR Vigneshkumar Ramasamy Syncfusion Team December 9, 2015 10:12 AM UTC

Hi Jean,

As of now by calling Dispose method in the schedule control when exiting the schedule page, we can improve the CPU consumption. If the problem still exist at your end, please revert us back with more information by creating simple sample. So that we could analyze furthermore and provide you the possible solution.

Regards

Vigneshkumar R



JT Jean Teneglio December 9, 2015 01:45 PM UTC

Yup that did it GREATTTTTTTTTTTTTTTTT

THANK YOU
THANK YOU
THANK YOU


VR Vigneshkumar Ramasamy Syncfusion Team December 10, 2015 04:20 AM UTC

Hi Jean,

Thanks for the update. Please let us know if you require further assistance on this.

Regards

Vigneshkumar R



Loader.
Up arrow icon