Open Bug 1675635 Opened 4 years ago Updated 4 years ago

Content process has decoded multiple copies of same Google Docs SVG sprite sheets whose sizes are just ±1 pixel off

Categories

(Core :: Graphics, defect)

defect

Tracking

()

People

(Reporter: cpeterson, Unassigned)

References

(Depends on 1 open bug)

Details

Attachments

(1 file)

Attached file memory-report.json.gz

I have many Google Docs tabs open. Since I'm using Fission, they all share the same google.com content process. While investigating some high memory usage (see the attached about:memory report), I noticed my google.com content process has decoded multiple copies of the same SVG with slightly different sizes, off by just ±1 pixel in each dimension:

202x17692
202x17691
201x17691
201x17692

These are Google Docs SVG sprite sheets (74x6487 px) for its toolbar icons:

https://ssl.gstatic.com/docs/common/material_common_sprite225_grey_medium.svg
https://ssl.gstatic.com/docs/common/material_common_sprite225_blue.svg

Are these rounding errors due to page zooming? I sometimes use Ctrl-+ to page zoom a Google Doc that I am screen sharing on Zoom to make it easier for other people to read.

Can all these Google Docs share one decoded SVG that is close enough size?

webIsolated=https://google.com (pid 17060) 
├─────94.34 MB (07.53%) -- images
│     ├──94.28 MB (07.53%) -- content
│     │  ├──80.35 MB (06.41%) -- vector/used/progress=18f
│     │  │  ├──57.09 MB (04.56%) -- image(74x6487, https://ssl.gstatic.com/docs/common/material_common_sprite225_grey_medium.svg)
│     │  │  │  ├──54.40 MB (04.34%) -- locked/types=2000
│     │  │  │  │  ├──13.64 MB (01.09%) -- surface(202x17692)
│     │  │  │  │  ├──13.63 MB (01.09%) -- surface(202x17691)
│     │  │  │  │  ├──13.57 MB (01.08%) -- surface(201x17691)
│     │  │  │  │  └──13.57 MB (01.08%) -- surface(201x17692)
│     │  │  │  └───2.68 MB (00.21%) ── source
│     │  │  ├──16.32 MB (01.30%) -- image(74x6487, https://ssl.gstatic.com/docs/common/material_common_sprite225_blue.svg)
│     │  │  │  ├──13.64 MB (01.09%) -- locked/types=2000/surface(202x17692)

Andrew likely has ideas about that rounding

Severity: -- → S3
Flags: needinfo?(aosmond)

Deferrable blobs will help with this. It likely wants different resources out of the map, and it causes slightly different rasterized sizes.

Flags: needinfo?(aosmond)
No longer blocks: gfx-triage
Depends on: deferrable-blobs
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: