[Mono-bugs] [Bug 347238] New: significant performance loss using a deep control nesting
bugzilla_noreply at novell.com
bugzilla_noreply at novell.com
Mon Dec 10 05:06:32 EST 2007
https://bugzilla.novell.com/show_bug.cgi?id=347238
Summary: significant performance loss using a deep control
nesting
Product: Mono: Class Libraries
Version: 1.2.6
Platform: x86-64
OS/Version: SLES 10
Status: NEW
Severity: Normal
Priority: P5 - None
Component: Windows.Forms
AssignedTo: mono-bugs at ximian.com
ReportedBy: carsten.sponsel at astrum-it.de
QAContact: mono-bugs at ximian.com
Found By: ---
I've encountered a significant performance loss in my application when changing
the current TabPage of a TabControl. The TabControl has 4 TabPages and each
contains between 30 and 50 Controls (some of the Controls are composed of
Sub-Controls). The TabControl itself is contained within a nesting of three
SplitContainers, the top SplitContainer resides in a
ToolStripContainer.ContentPanel that is the top control of my Application's
main form.
If I change the current TabPage to a TabPage, that has not been opened before,
it took a for the user very uncomfortable time until that TabPage is shown.
Changing the second time into a TabPage that was already opened some time
before is much faster.
I've searched a long time why this takes so long and finally I was able to
exclude that my code causes that. I tried tracing mono which produced a lot of
output I don't really understand, but I noticed, that there are many cascades
to parent controls, getting some font etc.
So I reduced the Control nesting a little bit by removing the three nested
SplitContainers and put my TabControl directly into the
ToolStripContainer.ContentPanel. That resulted in a huge performance gain when
changing the TabPages. But unfortunately I've lost the comfortable Split-UI in
my application.
It seems that the performance problem does not only affect changing TabPages
but has a more general nature like adding many items to TreeViews (that are
deeply nested), ...
I encountered that problem from mono at least from 1.2.4 - mono 1.2.6 preview 3
--
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the mono-bugs
mailing list