← Back to team overview

linuxdcpp-team team mailing list archive

[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