TabbedMidHost slow rendering

Docking/MDI for WPF Forum

The latest build of this product (v25.1.1) was released 23 days ago, which was before this thread was created.
Posted 3 days ago by David Chung
Version: 24.1.2
Avatar

We notice there is substantial delay in switch tabs in TabbedMdiHost inside Workspace. CPU jump and visual slowness.

Comments (3)

Posted 3 days ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hello,

The tabbed MDI tab control is effectively a native WPF TabControl with additional styling and features.  If you are seeing slowness when switching tabs, I would expect that you'd see the same thing with a native TabControl.  When a tab switches, it unloads the content elements for the previously selected tab and loads the content elements for the newly-selected tab into the visual tree.  If the content elements are extremely complex and slow overall to measure, arrange, or render, then that could cause a brief visual slowness in response to the switch.  The only way to improve that would be to reduce the complexity of your content elements by using a smaller overall element hierarchy (fewer UI elements), use virtualization techniques in any items controls, etc. 

If you use a performance profiler application like dotTrace, you could possibly identify which elements in your content element hierarchy are taking the longest to lay out.


Actipro Software Support

Posted 1 days ago by David Chung
Avatar

Do you have something similar to IsContentPreserved that Telerik does?

[Modified 1 days ago]

Posted 20 hours ago by Actipro Software Support - Cleveland, OH, USA
Avatar

Hello,

If you can provide some more information about your configuration, we can perhaps provide more suggestions.  For instance:

1) Are you using MVVM to create your documents or XAML?  Each DocumentWindow is a ContentControl and if the DocumentWindow.Content property is the UI element tree already (i.e. NOT using a viewmodel in its Content and a DataTemplate in its ContentTemplate), then that prevents the UI elements from being created beyond the first time the tab opens.

2) Do you have any bindings in your docking window that inherit data contexts from outside the docking window?

3) What kind of content are you showing and how complex is it?

4) Did you try performance profiling your application and did that help you zero in on where the cause of the slowdown is?

5) I'm not sure what the IsContentPreserved property does.  It could be effectively what I'm getting at in #1.  Or it could mean using some kind of Panel to contain the content of all tabs instead of the default ContentPresenter in the tab control's template that only shows the selected tab's content.  Some discussion on doing that is in this thread.


Actipro Software Support

Add Comment

Please log in to a validated account to post comments.