GoogleChrome / GoogleChrome/lighthouse

"Properly size image" report is too strict?

Open
#11,593 23 comments 15 reactions 0 assignees View on GitHub
docs good first issue images P2
Dominant language
JavaScript
Stars
30.8k
Forks
9.8k
Avg merge
1d 14h
Merged PRs (30d)
20

Description

**Summary**

Hi !

I am trying to get rid of the "Properly image size" but I am facing a wall here. Here are the kind of errors I get:

![image](https://user-images.githubusercontent.com/1198915/97066910-92428000-15f3-11eb-82e7-6a869b56e595.png)

After checking, it appears that I serve a 800px image, the actual displayed size is 362px and as the DPI is 2, so to serve a perfect image I would need to serve 362x2 = 724px images. But as the design is fluid, it depends of course of the screen width.

In my srcset, I have images that range from 300px to 1000px by increment of 100px. The issue is that it seems the tolerance is super small, and I would need to serve much more images (maybe by increment of 20 or 30px) ?

I have two problems with that:

* The document size would grow quite a lot (especially on product listing pages where I can have up to 50 products, so adding that many srcset will likely outgrows the minor win you can have at serving an exact size.
* This will make a pretty poor usage of CDN: we are using Shopify to serve image, and whenever you ask for a given size, it generates on the fly a new copy at each edges. This initial resize can take a bit of time (especially if the original image is super large) which means that by having way too many srcset, a lot more of users will face the initial resizing, and the cache will fill much faster and therefore lead again to more resizing.

I would like to know what is the recommended practice here, and if being too strict here actually does not encourage a bad practice that would like to extremely large document size, and poor usage of CDN.

Thanks :)

Contributor guide

Open the contributing guide

Research direction

The report concerns Lighthouse's “Properly size images” audit and a Shopify/CDN-backed srcset ranging from 300px to 1000px. Start by reproducing the reported 800px-versus-362px-at-2x case and reviewing the audit's sizing recommendation and tolerance. Done means an agreed recommendation or a clearly scoped change, with coverage for this responsive-image case.

Written by the indexing model from the issue text.

Assessment

Domain
performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
42/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.