linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #06182
[Bug 1069493] Re: Better resource optimization
valid idea.
** Changed in: dcplusplus
Status: Invalid => Confirmed
--
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/1069493
Title:
Better resource optimization
Status in DC++:
Confirmed
Bug description:
This is actually not a bug, but an improvement suggestion.
Anyway, so far, dc++ uses MDI interface to display multiple child windows (search, file lists, hubs, pms) inside one main window. This is all ok for a low number of child windows opened.
When you have any kind of administrative need to check a lot of user's file lists or to have a lot of hubs/pms opened or similar cases, when you have a need for a lot of multiple child windows, then you are often in a trouble of dc++ freezing, due to the resources (GDI objects mostly) starvation, which windows usually limits to some "reasonable" value. Not to mention that dc++ slows down a lot and working with it, when many child windows are opened, is very difficult and consumes a lot of memory.
There is a very simple improvement technique for this, which may
improve dc++ to scale far better for hundreds or thousands of opened
child windows. The idea is not to open a single MDI child window for
each object (search, pm, mainchat/hub, file list) that we need.
Instead, we can pre-created 4 default MDI child windows, one for each
type of object and when a user switches to another object, we simply
switch to one of 4 pre-created child windows, depending on the type of
that object only. This means that all the search objects/windows could
be displayed using only 1 physical MDI window, by simply refreshing
the content of that window, depending on the content of the search
object.
For more clarity, here is a screenshot to better describe all this.
Shortly, instead of creating a new MDI child window for each new
object needed, we could just re-use a pre-created MDI child window for
that type of object and repaint/refresh its content, based on the
content of our object.
This way no more than 4 MDI child windows would be needed for 4 basic
objects: search results, private chat, main chat and file list, so the
consumption of system resources (GDI objects) would be the optimal.
To manage notifications about this bug go to:
https://bugs.launchpad.net/dcplusplus/+bug/1069493/+subscriptions
References