Closed
Bug 1034784
Opened 10 years ago
Closed 10 years ago
The main process uses 4.5 MB more of decoded images in 2.0 than in 1.4
Categories
(Firefox OS Graveyard :: Gaia::System, defect)
Firefox OS Graveyard
Gaia::System
Tracking
(b2g-v1.4 unaffected, b2g-v2.0 affected)
RESOLVED
WORKSFORME
Tracking | Status | |
---|---|---|
b2g-v1.4 | --- | unaffected |
b2g-v2.0 | --- | affected |
People
(Reporter: khuey, Unassigned)
References
Details
(Keywords: memory-footprint, perf, regression, Whiteboard: [MemShrink])
Attachments
(1 file)
3.81 MB,
application/x-bzip2
|
Details |
According to the memory reports Eric gathered in bug 1028260 we're using 4.5 MB more decoded image data in 2.0. The diff shows: 7,369,820 B (100.0%) -- explicit ├──4,790,400 B (65.00%) -- images/content The big ones are: │ │ ├──1,740,880 B (23.62%) ++ image(app://system.gaiamobile.org/shared/resources/branding/initlogo.png) │ │ ├──1,581,136 B (21.45%) ++ image(blob:3a9c0b10-0ebb-4a69-a0af-36997897c105) │ │ ├──1,581,136 B (21.45%) ++ image(blob:48703170-1273-4974-a6e1-58b7dd045836) │ │ ├──1,544,272 B (20.95%) ++ image(app://system.gaiamobile.org/shared/style/value_selector/images/ui/gradient.png) │ │ ├────618,576 B (08.39%) ++ image(app://callscreen.gaiamobile.org/shared/style/action_menu/images/ui/gradient.png) │ │ ├────618,576 B (08.39%) ++ image(app://system.gaiamobile.org/shared/style/confirm/images/ui/gradient.png) Open questions: Why is the initlogo hanging around after startup? Where do these blob URIs come from? What are these gradients for and why do we need PNGs for them?
Comment 1•10 years ago
|
||
Good to see that the per-image reporting is coming in useful :)
Comment 2•10 years ago
|
||
The gradients are for backgrounds. We replaced them by plain colors on tarako, and no one complained ;) But I don't get the same results here (not a diff): ├───2.28 MB (06.19%) -- images/content/raster/used │ ├──0.61 MB (01.66%) -- image(blob:cb3f1d43-c26c-470e-9df6-aadda1617375) │ │ ├──0.59 MB (01.59%) ── uncompressed-nonheap │ │ └──0.02 MB (00.06%) ++ (2 tiny) │ ├──0.59 MB (01.60%) -- image(app://system.gaiamobile.org/shared/style/confirm/images/ui/gradient.png) │ │ ├──0.59 MB (01.59%) ── uncompressed-nonheap │ │ └──0.00 MB (00.01%) ++ (2 tiny) │ ├──0.59 MB (01.60%) -- image(app://system.gaiamobile.org/shared/style/value_selector/images/ui/gradient.png) │ │ ├──0.59 MB (01.59%) ── uncompressed-nonheap │ │ └──0.00 MB (00.01%) ++ (2 tiny) │ └──0.49 MB (01.33%) -- (8 tiny) │ ├──0.13 MB (00.35%) ++ image(app://system.gaiamobile.org/style/statusbar/images/icons.png) │ ├──0.09 MB (00.26%) ++ image(<non-notable images>) │ ├──0.07 MB (00.18%) ── image(app://system.gaiamobile.org/shared/resources/branding/initlogo.png)/raw │ ├──0.06 MB (00.15%) ++ image(app://system.gaiamobile.org/style/quick_settings/images/data.png) │ ├──0.04 MB (00.11%) ++ image(app://system.gaiamobile.org/shared/style/confirm/images/ui/pattern.png) │ ├──0.04 MB (00.11%) ++ image(app://system.gaiamobile.org/shared/style/value_selector/images/ui/pattern.png) │ ├──0.04 MB (00.11%) ++ image(app://system.gaiamobile.org/style/themes/default/images/ui/pattern.png) │ └──0.02 MB (00.06%) ── image(blob:a9f32b16-a04f-4eea-897f-95a65ebd74a8)/raw And I checked that we remove the logo DOM element (https://mxr.mozilla.org/gaia/source/apps/system/js/init_logo_handler.js#205).
Updated•10 years ago
|
Reporter | ||
Comment 3•10 years ago
|
||
Ok, I guess we need to see if this reproduces.
blocking-b2g: 2.0+ → 2.0?
Flags: needinfo?(erahm)
Comment 4•10 years ago
|
||
Eric, can you share your STR here? Or even better see if this still reproduces?
blocking-b2g: 2.0? → 2.0+
Comment 5•10 years ago
|
||
STR: 1) Reboot phone 2) Wait until lock screen is shown 3) Measure memory with |MOZ_IGNORE_NUWA_PROCESS=1 tools/get_about_memory.py --minimize| I'll do some testing to see if I can reproduce.
Comment 6•10 years ago
|
||
After retesting [1] I still see the gradients, initlog, and blobs, so Kyle's questions are still relevant. [1] |adb reboot && sleep 60 && MOZ_IGNORE_NUWA_PROCESS=1 tools/get_about_memory.py --minimize| But it looks like the diff of 1.4 -> 2.0 actually shows an overall *decrease* in image memory (-1.29 MB). The stats are a little misleading due to us having better reporting in 2.0 and negative signs (-) looking like the tree dashes (─): 5.11 MB (100.0%) -- explicit ├──-1.29 MB (-25.29%) -- images/content <--- this is an overall decrease │ ├──-7.43 MB (-145.37%) -- used <--- this decrease is because we changed how we report │ │ ├──-6.68 MB (-130.78%) ── uncompressed-nonheap [-] │ │ ├──-0.57 MB (-11.21%) ── raw [-] │ │ └──-0.17 MB (-3.38%) ── uncompressed-heap [-] │ └───6.14 MB (120.08%) -- raster/used <--- this increase is because we changed how we report │ ├──1.66 MB (32.49%) -- image(app://system.gaiamobile.org/shared/resources/branding/initlogo.png) │ │ ├──1.46 MB (28.66%) ── uncompressed-nonheap [+] │ │ ├──0.20 MB (03.82%) ── raw [+] │ │ └──0.00 MB (00.00%) ── uncompressed-heap [+] │ ├──1.51 MB (29.51%) -- image(blob:05d249c4-d760-40d6-8420-52a314b2d2ce) │ │ ├──1.46 MB (28.66%) ── uncompressed-nonheap [+] │ │ └──0.04 MB (00.84%) ++ (2 tiny) │ ├──1.47 MB (28.82%) -- image(app://system.gaiamobile.org/shared/style/value_selector/images/ui/gradient.png) │ │ ├──1.46 MB (28.66%) ── uncompressed-nonheap [+] │ │ └──0.01 MB (00.15%) ++ (2 tiny) │ ├──0.59 MB (11.54%) -- image(app://system.gaiamobile.org/shared/style/confirm/images/ui/gradient.png) │ │ ├──0.59 MB (11.47%) ── uncompressed-nonheap [+] │ │ └──0.00 MB (00.08%) ++ (2 tiny) │ ├──0.30 MB (05.81%) -- image(app://system.gaiamobile.org/style/statusbar/images/icons.png) │ │ ├──0.28 MB (05.50%) ── uncompressed-nonheap [+] │ │ └──0.02 MB (00.31%) ++ (2 tiny) │ ├──0.19 MB (03.76%) ++ (6 tiny) │ ├──0.16 MB (03.03%) -- image(app://system.gaiamobile.org/style/statusbar/images/signal-searching.png) │ │ ├──0.14 MB (02.81%) ── uncompressed-heap [+] │ │ └──0.01 MB (00.23%) ── raw [+] │ ├──0.14 MB (02.75%) -- image(<non-notable images>) │ │ ├──0.09 MB (01.78%) ── uncompressed-heap [+] │ │ └──0.05 MB (00.98%) ── raw [+] │ └──0.12 MB (02.37%) -- image(app://system.gaiamobile.org/style/quick_settings/images/data.png) │ ├──0.12 MB (02.29%) ── uncompressed-nonheap [+] │ └──0.00 MB (00.08%) ++ (2 tiny)
Flags: needinfo?(erahm)
Reporter | ||
Comment 7•10 years ago
|
||
(In reply to Eric Rahm [:erahm] from comment #6) > But it looks like the diff of 1.4 -> 2.0 actually shows an overall > *decrease* in image memory (-1.29 MB). The stats are a little misleading due > to us having better reporting in 2.0 and negative signs (-) looking like the > tree dashes (─): The original set of diffs showed an increase ...
Comment 8•10 years ago
|
||
(In reply to Kyle Huey [:khuey] (khuey@mozilla.com) from comment #7) > The original set of diffs showed an increase ... Those reports weren't generated with |--minimize|, which certainly could account for the discrepancy.
Comment 9•10 years ago
|
||
Memory report for 2.0 generated using: |adb reboot && sleep 60 && MOZ_IGNORE_NUWA_PROCESS=1 tools/get_about_memory.py --minimize|
Reporter | ||
Comment 10•10 years ago
|
||
initlogo.png is bug 1035432 The large blob URI is the wallpaper. I assume that lives forever? If so this isn't that big of a deal. The two gradients appear to be the same image. They would share compressed memory if they were the same URL, and probably uncompressed too, although they might be decoded to two different sizes.
Flags: needinfo?(alive)
Comment 11•10 years ago
|
||
(In reply to Kyle Huey [:khuey] (khuey@mozilla.com) from comment #10) > initlogo.png is bug 1035432 > > The large blob URI is the wallpaper. I assume that lives forever? If so > this isn't that big of a deal. Wallpaper lives forever. > > The two gradients appear to be the same image. They would share compressed > memory if they were the same URL, and probably uncompressed too, although > they might be decoded to two different sizes. For gradient we could try to access the same URL, does this help? But for the gradient lives in callscreen, I guess we shouldn't. It appears because callscreen is in process right now. Don't think we should share the same image between callscreen and system.
Flags: needinfo?(alive)
Comment 12•10 years ago
|
||
What are the next steps here? Is the bug description and the blocking flag still accurate?
Reporter | ||
Comment 13•10 years ago
|
||
No, it's not. I'll file new bugs for the remaining issues.
Status: NEW → RESOLVED
blocking-b2g: 2.0+ → ---
Closed: 10 years ago
Resolution: --- → WORKSFORME
You need to log in
before you can comment on or make changes to this bug.
Description
•