This question is locked. New answers and comments are not allowed.
Hi,
Who can explain to me why my application is very slow when I set a DropShadow to the RadBusyIndicator ?
As soon as I remove the effect, everything is absolutely speedy !
Telerik : 2013.3.1016.1050
Silverlight 5 of course
Here's the xaml (Style followed by the declaration)
Style :
Declaration :
Who can explain to me why my application is very slow when I set a DropShadow to the RadBusyIndicator ?
As soon as I remove the effect, everything is absolutely speedy !
Telerik : 2013.3.1016.1050
Silverlight 5 of course
Here's the xaml (Style followed by the declaration)
Style :
<LinearGradientBrush x:Key="BusyIndicatorBackground" EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="White" Offset="0"/> <GradientStop Color="#A9DCDADA" Offset="1"/></LinearGradientBrush><SolidColorBrush x:Key="BusyIndicatorBorderBrush" Color="#FFD0D0D0"/><LinearGradientBrush x:Key="BusyIndicatorIndeterminateBackground" EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FFFFC92B" Offset="0"/> <GradientStop Color="#FFFFF7A9" Offset="1"/> <GradientStop Color="#FFFFFBCD" Offset="0.254"/> <GradientStop Color="#FFFFC92B" Offset="0.5"/></LinearGradientBrush><SolidColorBrush x:Key="BusyIndicatorIndeterminateBorderBrush" Color="#FFFFC92B"/><RadialGradientBrush x:Key="BusyIndicatorIndeterminateCommetFill" Center="0.5,-0.23" GradientOrigin="0.8,0.25" RadiusY="0.68" RadiusX="0.68"> <GradientStop Color="#BFFFFFFF" Offset="0"/> <GradientStop Color="#00FFFFFF" Offset="1"/> <GradientStop Color="#21FFFFFF" Offset="0.65"/></RadialGradientBrush><SolidColorBrush x:Key="BusyIndicatorProgressBackground" Color="#FFFEE05E"/><Style x:Key="BusyIndicatorProgressBarStyle" TargetType="telerik:RadProgressBar"> <Setter Property="Margin" Value="15 15 15 5"/> <Setter Property="Maximum" Value="100"/> <Setter Property="Orientation" Value="Horizontal"/> <Setter Property="IsTabStop" Value="False"/> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="telerik:RadProgressBar"> <Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="CommonStates"> <VisualState x:Name="Determinate"/> <VisualState x:Name="Indeterminate"> <Storyboard RepeatBehavior="Forever"> <ObjectAnimationUsingKeyFrames Duration="00:00:00" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="IndeterminateDonut"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <DoubleAnimationUsingKeyFrames BeginTime="00:00:00" Storyboard.TargetProperty="(UIElement.RenderTransform).(TransformGroup.Children)[0].(RotateTransform.Angle)" Storyboard.TargetName="IndeterminateDonut"> <SplineDoubleKeyFrame KeyTime="00:00:01" Value="360"/> </DoubleAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <Path x:Name="IndeterminateBackgroundDonut" Fill="{StaticResource BusyIndicatorIndeterminateBackground}" Height="44" RenderTransformOrigin="0.5 0.5" Stroke="{StaticResource BusyIndicatorIndeterminateBorderBrush}" Width="44"> <Path.Data> <GeometryGroup FillRule="EvenOdd"> <EllipseGeometry Center="22 22" RadiusY="20" RadiusX="20"/> <EllipseGeometry Center="22 22" RadiusY="14" RadiusX="14"/> </GeometryGroup> </Path.Data> </Path> <Path x:Name="IndeterminateDonut" Fill="{StaticResource BusyIndicatorIndeterminateCommetFill}" Height="44" RenderTransformOrigin="0.5 0.5" Visibility="Collapsed" Width="44"> <Path.Data> <GeometryGroup FillRule="EvenOdd"> <EllipseGeometry Center="22 22" RadiusY="20" RadiusX="20"/> <EllipseGeometry Center="22 22" RadiusY="14" RadiusX="14"/> </GeometryGroup> </Path.Data> <Path.RenderTransform> <TransformGroup> <RotateTransform/> </TransformGroup> </Path.RenderTransform> </Path> <Grid x:Name="ProgressBarTrack" Height="24" RenderTransformOrigin="0.5 0.5" Width="24"> <Grid.Clip> <EllipseGeometry Center="12 12" RadiusY="12" RadiusX="12"/> </Grid.Clip> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="Auto"/> <ColumnDefinition Width="*"/> </Grid.ColumnDefinitions> <Grid.RenderTransform> <RotateTransform Angle="-90"/> </Grid.RenderTransform> <Rectangle x:Name="SkipValueSpacer"/> <Rectangle x:Name="ProgressBarIndicator" Grid.Column="1" Fill="{StaticResource BusyIndicatorProgressBackground}"/> </Grid> </Grid> </ControlTemplate> </Setter.Value> </Setter></Style><SolidColorBrush x:Key="BusyIndicatorBusyOverlayBrush" Color="#88FFFFFF"/><Style x:Key="RadBusyIndicatorStyle" TargetType="telerik:RadBusyIndicator"> <Setter Property="IsTabStop" Value="False"/> <Setter Property="DisplayAfter" Value="00:00:00.1"/> <Setter Property="Background" Value="{StaticResource BusyIndicatorBackground}"/> <Setter Property="BorderBrush" Value="{StaticResource BusyIndicatorBorderBrush}"/> <Setter Property="BorderThickness" Value="1"/> <Setter Property="HorizontalContentAlignment" Value="Stretch"/> <Setter Property="VerticalContentAlignment" Value="Stretch"/> <Setter Property="ProgressBarStyle" Value="{StaticResource BusyIndicatorProgressBarStyle}"/> <Setter Property="telerik:AnimationManager.AnimationSelector"> <Setter.Value> <telerik:AnimationSelector> <telerik:FadeAnimation AnimationName="Hide" Direction="Out" TargetElementName="Indicator"/> <telerik:FadeAnimation AnimationName="Show" Direction="In" TargetElementName="Indicator"/> </telerik:AnimationSelector> </Setter.Value> </Setter> <Setter Property="OverlayStyle"> <Setter.Value> <Style TargetType="Rectangle"> <Setter Property="Fill" Value="{StaticResource BusyIndicatorBusyOverlayBrush}"/> </Style> </Setter.Value> </Setter> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="telerik:RadBusyIndicator"> <Grid> <VisualStateManager.VisualStateGroups> <VisualStateGroup x:Name="VisibilityStates"> <VisualState x:Name="Hidden"> <Storyboard> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Indicator"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <Visibility>Collapsed</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Overlay"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <Visibility>Collapsed</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Visible"> <Storyboard> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Indicator"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="Overlay"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <Visibility>Visible</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> <VisualStateGroup x:Name="BusyStatusStates"> <VisualState x:Name="Idle"> <Storyboard> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetProperty="(Control.IsEnabled)" Storyboard.TargetName="Content"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <System:Boolean>True</System:Boolean> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetProperty="(UIElement.Visibility)" Storyboard.TargetName="ProgressBar"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <Visibility>Collapsed</Visibility> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="0" Storyboard.TargetProperty="IsIndeterminate" Storyboard.TargetName="ProgressBar"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <System:Boolean>False</System:Boolean> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> <VisualState x:Name="Busy"> <Storyboard> <ObjectAnimationUsingKeyFrames BeginTime="00:00:00" Duration="00:00:00.001" Storyboard.TargetProperty="(Control.IsEnabled)" Storyboard.TargetName="Content"> <DiscreteObjectKeyFrame KeyTime="00:00:00"> <DiscreteObjectKeyFrame.Value> <System:Boolean>False</System:Boolean> </DiscreteObjectKeyFrame.Value> </DiscreteObjectKeyFrame> </ObjectAnimationUsingKeyFrames> </Storyboard> </VisualState> </VisualStateGroup> </VisualStateManager.VisualStateGroups> <ContentControl x:Name="Content" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" HorizontalContentAlignment="{TemplateBinding HorizontalContentAlignment}" IsTabStop="False" IsEnabled="False" VerticalContentAlignment="{TemplateBinding VerticalContentAlignment}"/> <Rectangle x:Name="Overlay" Style="{TemplateBinding OverlayStyle}" Fill="#68000000"/> <Border x:Name="Indicator" BorderBrush="{TemplateBinding BorderBrush}" CornerRadius="2" HorizontalAlignment="Center" MinWidth="180" VerticalAlignment="Center" BorderThickness="1"> <Border.Background> <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0"> <GradientStop Color="#FF083161" Offset="0"/> <GradientStop Color="#FF335F93" Offset="1"/> </LinearGradientBrush> </Border.Background> <StackPanel Height="154" Width="236"> <telerik:RadProgressBar x:Name="ProgressBar" IsIndeterminate="{TemplateBinding IsIndeterminate}" Style="{TemplateBinding ProgressBarStyle}" Value="{TemplateBinding ProgressValue}" RenderTransformOrigin="0.5,0.5" Margin="15,30,15,5"> <telerik:RadProgressBar.RenderTransform> <CompositeTransform ScaleX="2" ScaleY="2"/> </telerik:RadProgressBar.RenderTransform> </telerik:RadProgressBar> <TextBlock TextWrapping="Wrap" Text="Un moment s.v.p..." Foreground="White" FontWeight="Bold" FontSize="13.333" TextAlignment="Center" Margin="0,27,0,0"/> </StackPanel> </Border> </Grid> </ControlTemplate> </Setter.Value> </Setter></Style>Declaration :
<telerik:RadBusyIndicator x:Name="BusyIndicator" BusyContent="Un moment s.v.p..." Style="{StaticResource RadBusyIndicatorStyle}" Foreground="Black" d:IsHidden="True" > <telerik:RadBusyIndicator.Effect> <DropShadowEffect BlurRadius="30" ShadowDepth="15"/> </telerik:RadBusyIndicator.Effect></telerik:RadBusyIndicator>id>