%SECTION{summary}%X's approach to storing (vs. discarding) the video image of obscured windows could be the reason Linux requires (IME) more memory (than, e.g., Windows 95) for decent performance. ...
I've been collecting a lot of material in my offline "wiki" lately, but decided to put this on line, because it's a little exciting, at least to me.
Ever since I started making the switch to Linux (from Windows95) I've been bellyaching (and complaining when I thought anybody was listening) about how poor Linux's (GUI) performance was as compared to Windows95 unless I threw a lot more memory at Linux. (I got decent behavior on Windows95 with 16 MB of RAM which Linux didn't match until it had 256 MB of RAM — I've mentioned that elsewhere on WikiLearn before and so won't go into all the details. Of course I got all the stories about not comparing apples with apples or the Linux approach that unused memory is wasted, etc., etc., etc.)
I finally have a hint about what might be one of the big underlying differences might be — the following is a quote from an article entitled "Use GDI+ to add professional-grade polish and paint to apps", by Matthew MacDonald, published in the February, 2003 issue (Vol. 13, No. 2) of "Inside Microsoft Visual Basic" (with a www.elementkjournals.com web address):
Essentially, as soon as a window is hidden or minimized, its contents are discarded. Otherwise, a large amount of memory would be required to store all the in-memory information for every program on your computer. With enough open programs, a high-enough resolution, and a high color depth (like 32-bit true color), the memory footprint would grow to tens of megabytes. Instead, Windows waits for the program to reappear, and then requests that the program refresh its display accordingly. In the .NET world, this translates into a Paint() event.
I strongly suspect that Linux (or maybe, more accurately, X), takes the different approach alluded to above, it uses all that memory, and when it doesn't have that much memory it dies swapping.
So,assuming this is the case, what can be done? (And what can I do?)
(
And, a tangent for another day, but I'm wondering if the open source world needs more people (like perhaps me?) pointing out shortcomings in the behavior of open source stuff even if some of those people (me) can't produce the code to prove our points? Hmm, there is more I should say here, this probably leaves me looking like a jerk or similar. I'll have to make a point to follow up on this at some point, hopefully (I know), fairly soon.)
See:
Contents
Text
Contributors
- () RandyKramer - 01 Apr 2004
- If you edit this page: add your name here; move this to the next line; and if you've used a comment marker (your initials in parenthesis), include it before your WikiName.
Revision Comment
%SECTION{last_revision}%
Page Ratings