Memory use myths

Customization software is not resource intensive

Sunday, June 5, 2005 by Frogboy | Discussion: OS Customization

I'm not sure where the myth began. But somewhere down the line, a false belief has turned into pseudo-fact amongst some people that customization software uses a lot of memory.  That's never been the case. Not even in the beginning.

At the dawn of Windows customization, software had to run on Windows 95 which only had 128K (that's kilobytes) of GDI resources. Customization software ate up a lot of those GDI resources since they were reserved for the user interface.  But even in 1995, 16K of memory was trivial. It's just that early versions of Windows were so limited in their GDI resources that it was a problem.

But Windows 2000 and Windows XP have never had any such problem.  And yet, we still see some uninformed, but vocal, user claim that <Program X> is "bloated" and uses a "ton" of memory.  Those people come in two forms:  The guy who really has no idea what he's talking about and the guy who thinks 10 megabytes of memory is a "ton" of memory.

The former guy is annoying because he matches his ignorance with his prolific posting.  The latter guy makes you wonder if their source of income is mom's allowance or something.  I can buy a 256 meg stick of memory for my PC for around $20. 

So let's get this out of the way: Desktop customization programs do NOT use much memory.

Here's WindowBlinds wbload.exe process use:

That's 576K.

Here's DesktopX:

That's only a couple megabytes of memory and it's running a useful object in this instance.

I could go on through a variety of programs both made by Stardock and made by third parties. None of them are "memory hogs".  You can certainly load up enough stuff with something like DesktopX to make it use a ton of memory.  Graphics, animation, etc. has to be stored somewhere.  But that's not the desktop customization's fault any more than it's Photoshop's fault if the user loaded a gigabyte sized image.

So next time someone tries to claim that some desktop customization program is "bloated" or something, point them here.

First Previous Page 3 of 5 Next Last
STViper
Reply #41 Wednesday, June 29, 2005 6:05 PM
2) WinBlinds inject its own DLLs (the programs for skinning) to every thread it skins.


I can verify that, if you don't trust me you can check for yourself. download Process Explorer from www.sysinternals.com, then go on the find menu -> find dll -> enter wblind.dll


(image hosting by www.putfile.com)

As you can see the wb dlls are loaded for every process that has a window.

On my system, which currently has 5 open windows (+ some systray apps) windowblinds uses 6108KB of memory, and I think I can live with that
What I'm actually trying to say with this post is that windowblinds uses more memory than just what you see in windows' own process explorer, but it still doesn't use very much..
Jafo
Reply #42 Wednesday, June 29, 2005 7:19 PM

I suppose the default XP GUI appearance is created by magic......nothing 'loads' to skin/create it.

Or is it just one of those invisible processes....like elves at the bottom of the garden...they're there...you just don't see them....

Ash08
Reply #43 Wednesday, July 13, 2005 1:11 PM
I suppose the default XP GUI appearance is created by magic......nothing 'loads' to skin/create it.



That is why power users use the classic win 98 themes.
BluDrgnBoi
Reply #44 Wednesday, July 13, 2005 6:28 PM
i believe what has confused people with memory is the number of threads that programs use. since threads and memory work with each other, somewhere i think that the high number of threads became mistakenly confused to be the amount of consumption of memory. just a thought!!
bakerstreet
Reply #45 Wednesday, July 13, 2005 7:14 PM
I think the confusion is that people think that just because the windowblinds DLL is loaded, that the theme itself has to be loaded for every running window. Thus the statement above:

"As more windows are created, more memory are taken up by these extra record of the components."


I think that can easily be proved false by loading a 2 meg windowblinds skin and about 40 windows. Not that it matters, they just KNOW they know more about windows programming than anyone else, so let them think what they want. I can check my ram without windowblinds loaded, unload wb, and then check again and do the math on the difference. It doesn't add up to the redundancy they claim it does.

If they want to waste hours piddling over 10 megs of ram in the face of such a massive effect, let them. Most of us, and most "windows programmers" were beyond that 5 years ago.
Ash08
Reply #46 Thursday, July 14, 2005 1:32 AM
It doesn't add up to the redundancy they claim it does.



This is what I found -

------------------------------Unskinned--------Skinned------Difference
Firefox 1 window open-----25,912 K--------34,912 K------9,000 K = 8.79 M
Firefox 2 window open-----26,492 K--------38,184 K------11,692 K = 11.42 M
Firefox 3 window open-----28,636 K -------41,652 K -----13,016 K = 12.71 M


(Memory = Mem Usage + VM Size)

Average WB Skin size = 2000 K

What I want to say is that WB does require a significant amount of memory but I feel that it is a small price to pay for the amount of functionality and eye candy it adds.
PurrBall
Reply #47 Thursday, July 14, 2005 7:04 AM


kona0197
Reply #48 Thursday, July 14, 2005 8:31 PM
WOW! What skin is that?
PurrBall
Reply #49 Sunday, July 17, 2005 8:14 AM
'myLonghorn'
joeKnowledge
Reply #50 Sunday, July 31, 2005 6:53 AM
I usually look at the virtual memory column when finding out what is slowing my computer.

Nevertheless, DX, Windowblinds and even CursorXP are pretty low.
Nothing breaks 3MB and goes as low as 945kb
joeKnowledge
Reply #51 Sunday, July 31, 2005 6:54 AM
Also keep in mind that I had my computer running for about a week now.
Lotherius
Reply #52 Sunday, July 31, 2005 10:04 AM
As you can see the wb dlls are loaded for every process that has a window.


Apparently you don't understand how dll's work. They are *shared* libraries. That means that it's loaded into memory the first time it's needed by a program - then every other program that needs it references the already-loaded copy. It's listed multiple times by process explorer, because each program does not need to know that another program has loaded the dll - and thus reports that it has loaded it. It's simply the way they work.
STViper
Reply #53 Tuesday, August 2, 2005 12:30 PM
Apparently you don't understand how dll's work. They are *shared* libraries. That means that it's loaded into memory the first time it's needed by a program - then every other program that needs it references the already-loaded copy. It's listed multiple times by process explorer, because each program does not need to know that another program has loaded the dll - and thus reports that it has loaded it. It's simply the way they work.


The code section is shared, the data (local variables etc) are not.
None the less, I didn't mean to imply that it is in some way bloated or memory-heavy, it's just that some people look at the mem-usage of wbload.exe and think that's all of it
Tarkus
Reply #54 Tuesday, August 2, 2005 5:35 PM
None the less, I didn't mean to imply that it is in some way bloated or memory-heavy, it's just that some people look at the mem-usage of wbload.exe and think that's all of it


You mean like Brad?


Posted via WinCustomize Browser/Stardock Central
PurrBall
Reply #55 Tuesday, August 2, 2005 7:11 PM
Well, technically the memory usage of WB is wload.exe... It just uses more memory when additional programs are loaded.
Frogboy
Reply #56 Tuesday, August 2, 2005 9:50 PM

If we're going to go down the path of what gets injected into every process, I suggest we start looking at uxtheme.dll and how big it is.    After all, there are companies such as TGT Soft and msstyles advocates who claim that msstyles have "0 foot print".  Uxtheme.dll is a shared DLL like Wblind.dll but it has a LOT more per process storage and has not undergone anywhere near the optimization that wblind.dll has.

At the end of the day, one can look at the total memory load with WindowBlinds running (with the theme service turned off) versus the total memory load with no WindowBlinds but a msstyle running.  In every case, WindowBlinds uses LESS total memory.  Wblind.dll's injection is a relativley trivial amount of memory as all it's doing is re-directing some paint calls -- the same as uxtheme.dll.

The reason I focus on the wbload.exe process is because THAT is the actual "extra" overhead that people see over msstyles (msstyles uses a svchost.exe process).  99% of users out there running XP are running uxtheme (Windows XP style).  Therefore, the question is what are people going to take on by using WindowBlinds. The answer is that they'll have wbload.exe. Most of those users won't turn off the theme service. So that wbload.exe is the extra memory.  WB has less per process overhead than uxtheme.dll due to far more use of shared memory/resources.

 

RiddickRom
Reply #57 Wednesday, September 21, 2005 2:41 PM
If I open all my tabbed docks I find OD using 53mb and its currently using 144mb of VM. I have three docks, one tabbed, 14 tabs on that tabbed dock.

I have 3/4 of a gig ram but run without any xp styles, just the plain gray classic style, it's so much faster and I can't really afford the drop in speed I get with something like luna when you consider I have to take a performance hit using so many custom icons. Its swings and roundabouts I guess.

I'm not complaining, my objectdock icon folder is just under 200mb so you'd have to expect those graphics are going to hog the memory. I guess my point is that it seems to depend on what you do with your customising as to how much ram it will consume.

The bottom line i feel is how much more productive you can be with these kinds of customisations. I can scan my data folder visually with a lot of eye candy icons and identify where it is I want to go quicker than I can looking at a basic text list. I can launch software much quicker than I ever could without OD. So its not just eye candy for me, I think I'm far more organised and able to work more effeciently with the few heavy on ram customisations I've done.
kona0197
Reply #58 Wednesday, September 21, 2005 4:07 PM
I have 3/4 of a gig ram but run without any xp styles, just the plain gray classic style, it's so much faster and I can't really afford the drop in speed I get with something like luna when you consider I have to take a performance hit using so many custom icons. Its swings and roundabouts I guess.


Windowblinds uses less memory than Luna. 820k (less than a meg) on my system.
RiddickRom
Reply #59 Wednesday, September 21, 2005 4:18 PM
It's not really a question of memory, it's the speed my computer runs at with any theme other than the old classic one. I like folders to open instantly and I'm sure for a lot of people using heavily customised windows the setup works great, but for me on my overloaded box thats being used for too many things at once, work and play, I have to cut corners.
lutikriss
Reply #60 Wednesday, September 21, 2005 5:55 PM
Bloated can be more than just hogging memory. Bloating can be something such as a noticeable slowdown in overall system performance with certain programs enabled. Overall performance can be hampered by having too many things going on a time. DesktopX with a large number of widgets, WindowBlinds, CursorXP, and WindowFX all on at the same time IS going to slow down your system, it's pretty much a fact. But if you only use your pc as a toy to skin, then you probably won't care.

Please login to comment and/or vote for this skin.

Welcome Guest! Please take the time to register with us.
There are many great features available to you once you register, including:

  • Richer content, access to many features that are disabled for guests like commenting on the forums and downloading skins.
  • Access to a great community, with a massive database of many, many areas of interest.
  • Access to contests & subscription offers like exclusive emails.
  • It's simple, and FREE!



web-wc01