Better resource optimization

Bug #1069493 reported by burek
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
DC++
Confirmed
Wishlist
Unassigned

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.

Tags: dwt win32-ui
Revision history for this message
burek (burek021) wrote :
Revision history for this message
iceman50 (bdcdevel) wrote :

Thank you for the suggestion but considering DC++ has been using this interface for ~5 years or so now I would have to say that the way the GUI is setup now is the way it's going to stay.

Changed in dcplusplus:
status: New → Won't Fix
Revision history for this message
Bostyan (bostyan007) wrote :

Hehe yes I know for this and is so disturbed in windows becouse you can`t minimize DC++ window if you click on icon, and you are required to move into the top three buttons or on try icon. And if you have open DC++, Firefox... if you click on DC++ icon program does not open but shows small windows very disturbed!

2) If you have 2 lines of hubs all hubs are moving up and down...

None software doesn`t have this view only DC++ and Internet Explorer and I do not use any of this.

Yes it is a very disturbed only for this I not using DC++. I using ApexDC++ for long time.

I think this could already been changed

I tested all DC++ softwares but ApexDC++ is the best! :D

Revision history for this message
burek (burek021) wrote :

@Bostyan87: If I'm not wrong, ApexDC++ is based on DC++ with some improvements, so this issue is present in ApexDC++ too.

@iceman50: well, ok, fair enough, but I think that such a point of view will never make dc++ to advance and become better. But ok, it's not my choice. I did what I could and further from here I cannot influence things any more.

Revision history for this message
eMTee (realprogger) wrote :

burek, ApexDC++ gui is not based on the current DC++ gui so the problem you addressing is may present on ApexDC++ (and any client that still uses WTL). So you are in a wrong place with this suggestion.

Since this is a bug tracker (with it's own rules) and not a forum, I convert this as a forum topic where you're free to discuss it further...

Changed in dcplusplus:
status: Won't Fix → Invalid
Revision history for this message
poy (poy) wrote :

i believe burek's idea makes a lot of sense and is possibly the only way we could get over regular resource / GUI handle limitations on Windows when there are hundreds of tabs. the choice of words may not be the best (we indeed don't use MDI) but the idea remains correct as there is one new window created for each tab.

note however that certain features like taskbar thumbnails & Aero Peek won't work if we use these "placeholder window intentions". so if they are implemented, they should only activate when the amount of tabs is too high (eg > 100).

Revision history for this message
poy (poy) wrote :

valid idea.

Changed in dcplusplus:
status: Invalid → Confirmed
Revision history for this message
Bostyan (bostyan007) wrote :

To much 10 is ok :D for other users for me I dont like it becouse if you click on icon, program is not open but show windows... I tested on my windows 7 and if I click on icon and view windows thumbnails hubs for 3 sec of all 20 hubs only 7 works other is show white window "refresh".

And if search with DC++ you most have open minimun 20 hubs and max 50 :D is not need more than 50 hubs.

On my search client I have open 25 hubs and I tested if active mode work ok port... with word -> Avril and I got 13000+ files and I think that is enough with 25 hubs if any one have 100+ hubs uf hehe

Anyway if this will change I started using DC++ but otherwise no :D becouse you can not minimize it or open the program with a single click and if you running 3 programs background DC++ is not open or show you're forced to click on a any hub. And for me I`m not using thumbnails for single hub becouse I open program and look what I need to look and this is it :D

Revision history for this message
MikeJJ (mrmikejj) wrote :

For what it's worth, I also like this idea.
It should stop it getting so cluttered, and provide a clean way of switching between windows.
:)

Fredrik Ullner (ullner)
Changed in dcplusplus:
importance: Undecided → Wishlist
Fredrik Ullner (ullner)
tags: added: dwt win32-ui
removed: child gdi mdi objects optimization resources windows
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.