Pane appearance takes time (performance issue)

4 posts, 0 answers
  1. Mar
    Mar avatar
    7 posts
    Member since:
    Mar 2015

    Posted 27 May 2015 Link to this post


    Some performance issue.
    The 'Content' property of my RadPane holds a quite complex visual tree (let's say it contains RadGridView), and I add it to the Panes ObservableCollection.
    I've implemented a custom DockingPanesFactory and only overrided the AddPane method. Not something special, it's almost like your example here:

    I've noticed that adding of pane to the visual tree by Panes.Add(pane) that invoke the AddPane of the DockingPanesFactory takes something like 400ms.
    Same for the Remove method. It's relevant also for DragStart when undocking this "heavy" pane, what happens is, the ToolWindow for this floating pane appears after a second or two, and the user holds the left mouse button down with no ToolWindow below the mouse cursor, and as I said only after 1-2 seconds the ToolWindow appears.

    My Content property holds a ViewModel that has a DataTemplate targeted to it by "TargetType" property of the DataTemplate. The DataTemplate consist of a View that has a RadGridView ....

    It's not reasonable that the whole pane appears only after its content added to the visual tree. I want to make the Pane to appear and let the content to load afterwards, Especially regarding the ToolWindow, because the user don't have any indication that the ToolWindow takes time to appear.

    BTW, I've disabled the animations... you know, by....
    <telerikDock:RadDocking telerik:AnimationManager.AnimationSelector="{x:Null}"

    Please, help me here to achieve my goal.

  2. Vladi
    Vladi avatar
    749 posts

    Posted 01 Jun 2015 Link to this post


    Thank you for contacting us.

    In the current version of the RadDocking control such advanced cache mechanism for floating docked RadPane instances is not available. By design when a docked pane is being undocked it is placed inside a newly created ToolWindow instance and its Content is immediately transferred. This is done in order to remove any delay that could make that content detached from the other UI which could cause bindings connected to that UI to get broken leading to binding expressions.

    You could use our feedback portal located here to add a new feature request for such advanced cache mechanism that would allow the Content of a docked RadPane to be moved to its floated ToolWindow only after it is fully rendered.

    Do you want to have your say when we set our development plans? Do you want to know when a feature you care about is added or when a bug fixed? Explore the Telerik Feedback Portal and vote to affect the priority of the items
  3. ldom07
    ldom07 avatar
    1 posts
    Member since:
    Nov 2017

    Posted 28 Nov 2019 Link to this post


    I have the same issue. Have you found any solution since then?

    Please, help me deal with this problem.

    Thank you in advance.

  4. Vladimir Stoyanov
    Vladimir Stoyanov avatar
    637 posts

    Posted 03 Dec 2019 Link to this post

    Hello Leila,

    There aren't any changes introduced in the way that the Content of the RadPane is transferred to the ToolWindow. With this in mind, the performance would be relative to how heavy the UI that is placed in the RadPane is. 

    That said, if you are using the RadGridView, you can check out its lightweight templates, which should improve its loading time. Along with that, you can also consider using the NoXaml dlls, which should improve the loading time overall. 

    Vladimir Stoyanov
    Progress Telerik

    Get quickly onboarded and successful with your Telerik and/or Kendo UI products with the Virtual Classroom free technical training, available to all active customers. Learn More.
Back to Top