Closed Bug 51028 Opened 24 years ago Closed 16 years ago

memory usage for images is ~46% worse than nc4.75/ie5.5

Categories

(Core :: Graphics: ImageLib, defect, P3)

defect

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: timeless, Unassigned)

References

()

Details

(Keywords: memory-footprint, perf, testcase, Whiteboard: [adt needinfo])

Attachments

(3 files)

the bug url is a bit extreme, ~65k html file which re
oops ... -quires 885MB of [virtual] memory in nc4.75/ie5.5 moz needed 1300+MB. I will generate a more reasonable testcase. http://wam.umd.edu/~soref/mstress.html ~1K, ie5.5: 26832K/19544K moz: 42604K/35224K mem/vm
Keywords: 4xp, footprint, perf
talkback info, albeit sparse: Incident ID 16672285 Trigger Time 2000-09-01 01:48:33 Email Address timeless@bemail.org User Comments Build ID 2000082815 Product ID Netscape6 Platform ID Win32 Stack Trace nsFileTransport::Process [d:\builds\seamonkey\mozilla\netwerk\base\src\nsFileTransport.cpp, line 511]
here's a better trace, ignore the one above. Incident ID 16672002 Trigger Time 2000-09-01 01:38:39 Email Address timeless@bemail.org User Comments please attach to http://bugzilla.mozilla.org/show_bug.cgi?id=51028 Build ID 2000082815 Product ID Netscape6 Platform ID Win32 Stack Trace nsFileTransport::Process [d:\builds\seamonkey\mozilla\netwerk\base\src\nsFileTransport.cpp, line 511] nsFileTransport::Run [d:\builds\seamonkey\mozilla\netwerk\base\src\nsFileTransport.cpp, line 363] nsThreadPoolRunnable::Run [d:\builds\seamonkey\mozilla\xpcom\threads\nsThread.cpp, line 694] nsThread::Main [d:\builds\seamonkey\mozilla\xpcom\threads\nsThread.cpp, line 96] _PR_NativeRunThread [pruthr.c, line 421] 0x006f006d KERNEL32.DLL + 0x37cd (0x77e837cd)
the crashes happen by loading http://wam.umd.edu/~soref/ostress.html ~2k [well mozilla "finish"es but doesn't render it all], and then clicking reload.
Just a guess from the stack trace ->networking:cache
Assignee: pnunn → neeti
Component: ImageLib → Networking: Cache
QA Contact: paw → tever
-->gagan
Assignee: neeti → gagan
9/13-12: on my large testcase: <1100mb vm needed which is only 23% worse than nc4.75/ie5.5 (that's a 200+mb savings) 24772/31704K (4mb saved), we still don't load all images on mstress. Gagan, if you can't reproduce the crash, kick this back to imagelib or layout or compositor; I can't.
this is really an overall memory usage issue. ->warren.
Assignee: gagan → warren
taking
Assignee: warsome → waterson
Changing component. It doesn't look cache specific.
Component: Networking: Cache → Browser-General
libpr0n fixes this, right pav?
Assignee: waterson → pavlov
Lib pr0n makes this much wrose :-( i was at ~1.95GB of ram for the large testcase [119% worse than competition, and browser doesn't actually respond] this test run was done in a w2k terminal session w/ [peak mem usage 2510864, current 550456 - after killing mozilla] @256 colors.
Component: Browser-General → ImageLib
There is definitely something wrong here, even at 24bit color we shouldn't be eating that much memory.
removing 'crash' keyword. This is an out of memory problem potentially resulting in a crash, but not a crash due to anything specific.
Keywords: crash
Target Milestone: --- → mozilla1.0
Is the huge memory uptake and long load time (I haven't let it finish yet on my machine before killing mozilla) on http://www.12see.de/hpm_design01.cgi?user=funnylady (Select the "Gif's Gif's Gif's" link) this bug? Loads quickly and takes only 11MB in Opera 5.0 for Linux, takes 100% CPU usage and over 70MB in Mozilla 2001060408-trunk
I am using Mozilla Build ID: 2001060703 on NT4.0. The start up memory image of this build is 17346KB while that of IE6.0 (the beta release) is only 6000 and odd KB. I had mozilla on last night and when I came into to work this morning, I found that it had used up 76MB of memory space! Now that is an astronomical figure, in contrast, IE rarely takes more than 20MB. Someone needs to look at the way mozilla handles memory and why it isn't flushing unused memory blocks.
Windows 2000 P3 500 128 MB IE 5.5 mem: 82 M VM: 866 M IE 6 mem: 35 M VM: 1,317 M Mozilla 2001062708 (0.9.2) mem: 53 M VM: 1,381 M IE6 and Mozilla are very close... Anyone have XP?
NS 4.7something on win2k: mem: 37 M VM: 798 M
http://wam.umd.edu/~soref/mstress.html Testing build 2001070321 (gnucc-295) on Linux 2.4.x gives: PID USER PRI NI SIZE RSS SHARE STAT %CPU %MEM TIME COMMAND 24055 kmaraas 9 0 53624 49M 9392 S 0,0 26,4 2:14 mozilla-bin Which amounts to ~40 MB?
Fizilla build from 0_9_2 branch under Mac OS X 10.0.4: 1,890,164 kbytes IE 5.whatevercomeswith Mac OS X 10.0.3 : 1,806,004 kbytes
http://wam.umd.edu/~soref/mstress.html on Windows 2000, 16 bit color, RAM = 256MB NN4.7 10M IE6 (beta) 25M M 0.9.2 44M It's still the problem.
I agree. Moz 0.9.2+ freezes up for many seconds after the browser dispenses with one page and fills with another. It's really annoying. IE 5.0 doesn't do this. I prefer open source.
i am using build 2001082608 on WinNT and tried to load the pages mentioned http://wam.umd.edu/~soref/stress.html http://wam.umd.edu/~soref/mstress.html there was nothing displayed whatsoever, this was even if i tried to reload the said pages
didn't work for me either the first time, but the second attempt in a new window worked. Odd
qa -> tpreston
QA Contact: tever → tpreston
*** Bug 98930 has been marked as a duplicate of this bug. ***
Additionally, if you use many browser windows (control-N) in IE, memory usage with IE (any version 5 or above, I'm using 6) is much lower than Mozilla (currently using 0.9.5). In fact, just browsing with about 6 Moz windows open uses up all of my 192M within about 1/2 hour to 1 hour (W2K) while I can browse all day with IE and have no problems. Sorry about the lack of a test case, but this is really obvious if you do it for a while.
Keywords: mozilla1.0
bug 104999 (that has just been fixed) should help with this abit.
Depends on: 95810, 98835, 110048
No longer depends on: 95810, 98835, 110048
Blocks: 124608
46% ? i would say 900% ! in bugzilla, request ALL unconfirmed bugs ... ie and ns both use like 40 megs, mozilla 0.9.8 requires 400! megs. thats just hillarious
for 0.9.8: as you know windows 2000 will swap mozilla out overnight leading to extremely slow response each morning. today I was watching the task manager display as mozilla was being paged in. it showed VM size for mozilla.exe at 66MB. mozilla was totally unresponsive (no screen repaint, no nothing) until the Memory Usage field got up to 45MB. As I loaded the bugzilla.mozilla.org it got to 55MB. This seems to show that mozilla has a huge working set (perhaps the heap gets fragmented over time). Then after checking some mails, moving them aroung, doing a few bugzilla queries to find this bug it shows both Memory at 118MB and VM at 121MB The machine has 512 MB RAM and shows 256MB used in task manager.
sorry guys, you want some other bug, this is an *IMAGELIB* bug
Summary: memory usage is ~46% worse than nc4.75/ie5.5 → memory usage for images is ~46% worse than nc4.75/ie5.5
Target Milestone: mozilla1.0 → mozilla1.1
Keywords: nsbeta1
dp, cathleen: can you guys help/comment on this one? [adt needinfo]
Whiteboard: [adt needinfo]
We need a new valid test case for this bug! Otherwise, this bug is useless. these links do not work http://wam.umd.edu/~soref/mstress.html http://wam.umd.edu/~soref/ostress.html comment #30 http://bugzilla.mozilla.org/buglist.cgi?bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&email1=&emailtype1=substring&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&bug_file_loc=&bug_file_loc_type=allwordssubstr&status_whiteboard=&status_whiteboard_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&cmdtype=doit&order=Reuse+same+sort+as+last+time is not an imagelib issue, this is a query generating a bugzilla list of 23461 bugs, which took a huge load of memory. There is already an bug filed, see bug 49539, which has nothing to do with image. The URL link provided on top of bug report http://timeless.haque.net/mozilla/stress.html works. However, nothing gets rendered after page gets done loading. This is same with IE. So, I saved the page, and look at all image links in page source, and found there is no valid access to those image files. I will attatch stress.html for people to view.
no access to any of the images specified in this page. --> test invalid.
aww that sucks. ok, i think i found someone with a webserver who can host the files. i should have more info in 24hrs
ok, the files are now up on the server in the url, if you can mirror them instead of constantly hitting the server, that'd probably be good. index.html mstress.html ostress.html slurp-stress.html slurp.html stress.html you should be able to use wget or netscape composer to slurp the files.
another HTML showing the problem (using Yahoo images) Mozilla takes twice of IE's footprint to display this HTML file BTW JPEG images seem to be worse than GIF images
I did a spacetrace analysis using attachment 72809 [details] and it showed 100 calls to imglib, which holds around 120MB. task manager showed us using 120+MB to load this page and IE5 took 42+MB to load. saari is going to take a look at this. he guessed implementing paletted gifs will help, 3 to 1 ratio.
Those images are PNGs and the ones on the old testcase were JPEGs. GIF fixes are irrelivant to this.
Palettized image storage in general then. I'm guessing PNG uses a palettized format anyway, and if you look at the content of the images, you can see where IE is getting the win; it is an obvious 3:1 ratio. We can teach each decoder to go directly to native paletized formats when appropriate (my choice), or we can take a temporary decode to full 3 byte per pixel, keep color statistics, and then make a decision on if it should be palettized (< 256 colors). My vote is the first option; more work but better results. I'm willing to punt on JPEGs as they're meant to be used when GIF isn't the best choice: large amounts of colors often seen in photographs where LZW starts falling down anyway.
If GIF-s are not relevant to this, should a new bug to filed for the GIF problem?
*** Bug 116257 has been marked as a duplicate of this bug. ***
Bug 143046 is the windows only (currently) GIF solution to this bug. 1 bit/8 bit PNGs should also use the framework that Bug 143046 is trying to set up.
Depends on: slowGIF
*** Bug 122581 has been marked as a duplicate of this bug. ***
Keywords: mozilla1.3
Target Milestone: mozilla1.1alpha → ---
(from comment 16 of bug 122581:) Page with 141 1280x960 images, each shrunk to 160x120 using WIDTH and HEIGHT attributes in IMG tag, requires 1GB RAM (allocated to Mozilla while decoding, X afterwards). Netscape 4.05 requires only 50MB (Netscape+X11 combined) for the same page, and loads 2-3 times faster as well. Shouldn't Mozilla only keep the shrunk image in memory, not the full one?
adt: nsbeta1-
Keywords: nsbeta1nsbeta1-
Can someone please update this bug with more example web pages? Thank you much.
Please slurp only once. I will try to retest stress locally, but i currently have a mozilla which crashed due to OOM after using about 700mb of vm, so I don't think mozilla has a chance of loading this page.
I set up a small (~250kB including images) test page at http://achurch.org/51028/ . NC4.78 doesn't even break a sweat; Mozilla chews through memory like crazy without displaying anywhere near all of the images (and dies from OOM on both a 512MB Windows box and a 1.5GB Linux box, both Mozilla 1.6a).
Using Mozilla 1.4 (20030821) on Linux I tried the site mentioned in comment #50. I had a window open showing top (sorted according to mem usage) and noticed it wasn't mozilla-bin eating my memory but X.
Since Netscape doesn't cause X to take up such huge amounts of memory, I'd argue that Mozilla is at fault.
This affects Windows to, and on Windows it does bloat Mozilla process memory, so I'd agree Mozilla is at fault.
andrew church: could you get a stack trace w/ gdb? :) I will try to fix any oom crashes for which you provide a stack. You're welcome to file such stack traces in new bugs and reference them here, since we probably shouldn't clutter this bug with them (although I did cause some clutter in comments 2 and 3).
OS: Windows 2000 → All
Hardware: PC → All
Unfortunately, it's killed by the OOM killer, so I can't get any stack traces.
Blocks: 215491
Any progress on that?
I think the URL example results in a "memory cache overflow". Each image is stored decoded in the memory cache even if the memory cache is already full. While loading the page about:cache increases and "Storage in use" will exceed "Maximum storage size". I have seen this also in bug 213391 comment 5. If bug 213391 is a dupe of this then other bugs with this memory cache behaviour (like bug 105370) could also be dupes of this bug.
The account from timeless had moved to our new server so I changed the URL.
I affected by the problem also, and IE don't suffer from this, may be we should put the image in disk rather than at Memory??
No longer blocks: 215491
PNG Image as Testcase that shows huge memory usage (over 400 MB). Memory Usage of IE with same PNG is far less. Not really sure this is the right Bug, there are a lot Bugs about images and huge memory usage: is Bug 240369 only about .bmp? Tested with: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8b4) Gecko/20050831 Firefox/1.0+ ID:2005083106
even worse for me, moz 1.8b on win2k, while rendering memory usage goes over 1.1 gig, then calms down to 550megs once image is shown. stalls the system for a good minute tho...
This bug has been quiet for a while, with no apparent solution in sight. This analysis seems relevant: http://primates.ximian.com/~federico/news-2005-11.html While I think the scheme suggested by the author is sound enough, I would also suggest memory-mapping the in-memory images to the cache, at least for non-visible/inactive tabs; in my experience it's a good idea to let the kernel dynamically distribute memory to apps. Bug 240369 looks like a dupe of this bug, can anyone confirm?
(In reply to comment #62) > This bug has been quiet for a while, with no apparent solution in sight. This > analysis seems relevant: > > http://primates.ximian.com/~federico/news-2005-11.html see bug 259672
(In reply to comment #63) > see bug 259672 Not talking about X; the excessive memory usage problem also exists on Windows.
Assignee: pavlov → nobody
QA Contact: tpreston → imagelib
When trying to view the attachment "Another testcase", I get this error message : The image “https://bugzilla.mozilla.org/attachment.cgi?id=194498” cannot be displayed, because it contains errors. Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.8.1.3) Gecko/20070309 Firefox/2.0.0.3
for reference, bug 296818 has significantly improved things. someone will comment here with numbers.
Depends on: 296818
All with emptied disk cache set to 404800 running the stress test; Page was loaded, then slowly scrolled to the bottom. Camino Version 2007102701 (2.0a1pre) 294MB real, 656MB virtual. Cache: Storage in use: 130418 KiB Mozilla/5.0 (Macintosh; U; PPC Mac OS X Mach-O; en-US; rv:1.9a9pre) Gecko/2007102804 Minefield/3.0a9pre 323MB real, 681MB virtual. Cache: Storage in use: 130093 KiB
For completeness: Safari Version 2.0.4 (419.3) 625.75MB real, 1.03GB virtual. Oh, with a beach ball of death that lasted nearly 10 minutes.
Note that the numbers may vary over time. EG, when I ran the testcase with Minefield the VM size was ~1.1GB immediately after running the test. It then dropped to ~700MB after a bit (296818's work), and then scrolling through the whole page increased it back again.
Depends on: 398983
The original testcase requires 885MB of [virtual] memory in nc4.75/ie5.5, but now in Firefox 3.5b4pre it requires less than 450K (with some other tabs open and a lot of addons active). So, I would say the original reported problem that that page requires more memory than nc4.75 is no longer applicable...
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
No longer depends on: 398983
Resolution: FIXED → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: