Very slow startup with RadListBox drag drop animation

1 Answer 46 Views
DragAndDrop ListBox
Julien
Top achievements
Rank 1
Julien asked on 20 Mar 2023, 02:24 PM | edited on 20 Mar 2023, 02:25 PM

Hello,

 

We experienced very slow startup times for our WPF Telerik app recently (~50 seconds).

I have attached a project to replicate the problem. It only happens sometimes, but when it does, the simple demo app takes up to 30 seconds to boot up (not counting build time). This happens with and without the debugger.

In the screenshot "telerik_debug_logs.png", we can see that the app decides to load 30+ Telerik DLLs, almost none of which are necessary for this tiny app. Loading all these DLLs takes time, most notably the first one (Telerik.Window.Controls.dll) which seems to take 5.9 seconds on it's own.

Interestingly enough, when we comment out the drag drop animation storyboard, only 2 of Telerik DLLs are loaded. See screenshot "telerik_debug_logs_NO_ANIMATION.png".

 

Is this expected behavior ? Is there something I can to to mitigate the long startup times ?

 

Config:

  • .NET 7 (also tested in .NET 6)
  • Telerik UI for WPF (XAML) v2023.1.117
  • VS 2022 v17.5.2

 

 

Best regards,

Julien G

 

 

 

1 Answer, 1 is accepted

Sort by
0
Vladimir Stoyanov
Telerik team
answered on 23 Mar 2023, 10:27 AM

Hello Julien,

Thank you for the shared pictures and sample project. 

I was able to reproduce the described behavior when the Storyboard is present. What I can suggest to avoid this is to declare the Storyboard.TargetProperty with an alias pointing to the Telerik.Windows.Controls namespace. Here is what I have in mind:

<Storyboard Storyboard.TargetProperty="(controls:RadListBoxItem.Background).(SolidColorBrush.Color)">
                                        <ColorAnimation
                                            From="Transparent"
                                            To="LightGray"
                                            Duration="0:0:0.2" />
xmlns:controls="clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls"

With this approach I was not able to observe dlls other than the Telerik.Windows.Controls being loaded. This leads me to believe that they are being loaded due to some reflection triggered by the Storyboard.TargetProperty

On a side note, you can also consider using the individual NuGet packages and reference only the NuGets that the application needs. 

Hope you find this helpful.

Regards,
Vladimir Stoyanov
Progress Telerik

Love the Telerik and Kendo UI products and believe more people should try them? Invite a fellow developer to become a Progress customer and each of you can get a $50 Amazon gift voucher.

Tags
DragAndDrop ListBox
Asked by
Julien
Top achievements
Rank 1
Answers by
Vladimir Stoyanov
Telerik team
Share this question
or