Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DBW: Responsive Images Audit #1497

Merged
merged 11 commits into from
Jan 25, 2017
Merged

DBW: Responsive Images Audit #1497

merged 11 commits into from
Jan 25, 2017

Conversation

patrickhulce
Copy link
Collaborator

R: all

addresses #978 #876

@patrickhulce
Copy link
Collaborator Author

Waiting to add tests for feedback on the audit mechanism. Right now as described in the fileoverview...

  *   Checks to see if the images used on the page are larger than
  *   their display sizes. The audit will list all images that are larger than
  *   their display size regardless of DPR (a 1000px wide image displayed as a
  *   500px high-res image on a Retina display will show up as 75% unused);
  *   however, the audit will only fail pages that use images that have waste
  *   when computed with DPR taken into account.

This gives the somewhat confusing result though that a page can easily pass with mobile emulation on and fail on desktop even though the mobile violations are more impactful to the user.

Example Mobile Result
image

Example Desktop Result of Same Site
image

@brendankenny
Copy link
Member

This gives the somewhat confusing result though that a page can easily pass with mobile emulation on and fail on desktop even though the mobile violations are more impactful to the user.

I know there's also been advice that you don't necessarily want a 1:1 image pixel to display pixel ratio on mobile devices as it's just a waste, and really you want some notion of angular resolution of those pixels, but I have no idea of what the state of the art is on that.

@brendankenny
Copy link
Member

you don't necessarily want a 1:1 image pixel to display pixel ratio on mobile devices as it's just a waste

e.g. ratio of 1 may be too low, 2 could work well, but 2.6 or whatever would be wasted pixels as the average visitor won't hold the phone up close to look at most pictures (however you want to measure that)

@patrickhulce
Copy link
Collaborator Author

e.g. ratio of 1 may be too low, 2 could work well, but 2.6 or whatever would be wasted pixels as the average visitor won't hold the phone up close to look at most pictures (however you want to measure that)

Yeah I'd just generally prefer Lighthouse to stay out of these judgement calls when possible. IMO if there's a legitimate reason for acting a particular way that isn't very unpredictable LH should try not to fail you for it but just make sure you're aware of it. This does get into the area of something I'd really like to see across the board though: severity of audits rather than pass/fail. Feels like another conversation though :)

@brendankenny
Copy link
Member

severity of audits rather than pass/fail

well we do have support for 0-100 scores, we just haven't used them in a while :) Defining how severe is severe is hard, of course

Copy link
Member

@brendankenny brendankenny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looking good. While we figure out scoring and what constitutes waste, some initial comments, mostly around style

const usedRatio = usedPixels / actualPixels;
const usedRatioFullDPR = usedPixelsFullDPR / actualPixels;

if (!usedRatio || usedRatio >= 1) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

what is !usedRatio protecting against here? NaN? May want to use !isFinite(usedRatio) instead so it handles Infinity as well. Both seem like an error condition, though (as opposed to usedRatio >= 1), so it may warrant some kind of error string instead?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah will better handle the edge cases, originally this was for an image that was never shown (0 used pixels) but that is now handled by checking for the network record


const size = image.networkRecord.resourceSize;
const transferTimeInMs = 1000 * (image.networkRecord.endTime -
image.networkRecord.startTime);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

better to use responseReceivedTime instead of startTime since connection overhead won't change much compared to transmission time alone

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this was actually meant to be a question; I don't actually know that it's better to do this :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah that's a good point! also should decide what to do about handling data URI images since the "response time" will be nothing but they just impacted another assets response time

const size = image.networkRecord.resourceSize;
const transferTimeInMs = 1000 * (image.networkRecord.endTime -
image.networkRecord.startTime);
const wastedBytes = Math.round(size * (1 - usedRatio));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe introduce a unusedRatio or wastedRatio intermediate variable for 1 - usedRatio

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

const wastedBytes = Math.round(size * (1 - usedRatio));
const wastedTime = Math.round(transferTimeInMs * (1 - usedRatio));
const percentSavings = Math.round(100 * (1 - usedRatio));
const label = `${Math.round(size / KB_IN_BYTES)}KB total, ${percentSavings}% savings`;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a clever solution, though it's obviously an estimate. I would imagine it's a better estimate for a block-based image format vs something like PNG? Have you considered your canvas solution (from the image optimization audit) instead of/in addition to this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah just an estimate, but the impact of the differences is likely to be much more pronounced at the smaller size end of the spectrum where it's less likely to matter anyway. That seemed like overkill for the first pass, but I'm open to sharing that little gem of logic :)


/**
* @param {!Object} image
* @param {number} DPR
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe @param {number} DPR devicePixelRatio to make this param clearer on first read?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done


/**
* @param {!{src: string}} tag
* @return {Promise<!Object>}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need ! before Promise

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

* @param {!{src: string}} tag
* @return {Promise<!Object>}
*/
fetchTagWithSizeInformation(tag) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

element

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

* @return {Promise<!Object>}
*/
fetchTagWithSizeInformation(tag) {
const url = JSON.stringify(tag.src);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stringify for escaped encoding or...? better to parse with new URL() and reject bad ones?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just as replacement for '${element.src}', but will change. they all should be valid urls since they came from img.currentSrc

// fill in natural size information if we can
return tag.isPicture && tag.networkRecord ?
this.fetchTagWithSizeInformation(tag) :
Promise.resolve(tag);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can just return tag (without the promise wrapper) if using Promise.all

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah will do


return driver.evaluateAsync(`(${collectImageTagInfo.toString()})()`)
.then(tags => {
return Promise.all(tags.map(tag => {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Promise.all makes me nervous when interacting with the debugger protocol. Right now driver.evaluateAsync is just the one command internally, but if we change that at some point, Promise.all could end up interleaving commands. Usually better to go serial. OTOH, that sets the network requests off one at a time, much slower than necessary. Maybe ship the array of images to investigate off to the browser in one evaluateAsync call and put the loop over them in there?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will serialize, there shouldn't be many network requests happening here and if there end up being many we should revisit

Copy link
Member

@brendankenny brendankenny Jan 20, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there shouldn't be many network requests happening here and if there end up being many we should revisit

yeah, for the requests I'm mostly worried about the cache behavior on devices with less storage. It's possible that for an image on a page the decoded pixel data is still present but the image file has been evicted from the network cache, so img.src = url may force another download. We'll have to investigate to find out if that is possible.

category: 'Images',
name: 'uses-responsive-images',
description: 'Site uses appropriate image sizes',
helpText: 'Image sizes served should be based on the display size to save network bytes. ' +
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm wrestling with display size. "viewport size"?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Well not just viewport size but how large the image is when displayed after taking into account DPR. i.e. if the viewport is huge but the image fills 1/4 of the width of the viewport and DPR is 2, target 1/2 of the viewport size.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"device display size"?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

sgtm

*/
static computeWaste(image, DPR) {
const url = URL.getDisplayName(image.src);
const actualPixels = image.naturalWidth * image.naturalHeight;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TIL about naturalWidth and naturalHeight :)

const transferTimeInMs = 1000 * (image.networkRecord.endTime -
image.networkRecord.responseReceivedTime);
const wastedBytes = Math.round(size * wastedRatio);
const wastedTime = Math.round(transferTimeInMs * wastedRatio);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

how confident are we that this relationship of wastedBytes -> wastedTime is correct?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

More confident than the wastedPixels -> wastedBytes relationship! Do you have anything in particular you're thinking of? This somewhat assumes keep-alive and the congestion window is already flooded by the time we hit these images.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nothing in particular. Just thinking out loud. Maybe the final label should be clear that this is an estimate? https://github.com/GoogleChrome/lighthouse/pull/1497/files/b4fe416f62b776844a9a743864921256f01dc86a#diff-31529c3403e44b3ff053b53ab95cca7dR118

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done!

const entries = srcset.split(',');
const relativeUrls = entries.map(entry => entry.trim().split(' ')[0]);
return relativeUrls.map(url => {
const a = document.createElement('a');
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice trick to get full urls. Any value in usingnew URL() with the 2nd base param instead of creating dom? I guess what you have also works if there's <base> tag on the page.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Didn't know about the 2nd base param! I'll switch to that.

});
}

function getElementInfo(element) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

doc element as a HTMLImageElement

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will doc

function getElementInfo(element) {
return {
tagName: element.tagName,
src: element.currentSrc,
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you add comment for later that currentSrc is used b/c it gives you the chosen media src that the browser selected based on the display?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

return Object.assign(getElementInfo(element), {isPicture: false});
}

const imgElementInfo = getElementInfo(element);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you could move imgElementInfo above and reuse it in the first if

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

const wastedBytes = Math.round(size * wastedRatio);
const wastedTime = Math.round(transferTimeInMs * wastedRatio);
const percentSavings = Math.round(100 * wastedRatio);
const label = `${Math.round(size / KB_IN_BYTES)}KB total, ${percentSavings}% savings`;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found x% savings kinda confusing in the screenshot. Maybe % waste would be a better thing to report to the user?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or somehow communicating that this is the % savings if the correct size was used...?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

How about "potential savings" as in the previous audits? I was trying to find ways to make these seem more encouraging to users rather than scolding since they can be a bit harsh. If you've done everything imaginable in the realm of responsive images and you're over by like 10%, it felt mean to say 10% waste.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yea, potential savings SGTM

@ebidel
Copy link
Contributor

ebidel commented Jan 21, 2017

Complex stuff. Seems like a nice approach.

#978 also mention css image-set() and background images. I feel that adding CSS stuff to the audit might be a bit much. WDYT?

@patrickhulce
Copy link
Collaborator Author

patrickhulce commented Jan 23, 2017

#978 also mention css image-set() and background images. I feel that adding CSS stuff to the audit might be a bit much. WDYT?

@ebidel yeah I struggled more with those since it's much less obvious how to get their actual size used and they're much more likely to be used as sprites which will intentionally be too big for their display size. I agree on postponing and we can just leave that issue open for now.

a.href = url;
return a.href;
try {
return new URL(url, window.location.href).href;
Copy link
Contributor

@ebidel ebidel Jan 23, 2017

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Since you're running this on the page, if the site uses a <base href="http://somethingelse.com/">, new URL(url, window.location.href).href; might not be correct. e.g. http://jsbin.com/yilakeqeyi/edit?html,output

return new URL(url, document.baseURI || window.location.href).href; should do it.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

document.baseURI || window.location.href

drive-by nit: if there isn't a <base> element then these should be equal, and document.baseURI will always be defined anyways, so return new URL(url, document.baseURI).href should be sufficient

Copy link
Member

@brendankenny brendankenny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

looking good. A few last things.

Should also have a smoke test for this. If you don't want to add it to the DBW test, the offline-ready test runs the full default config so it runs all the audits. The offline-ready page has an image in it, so it'll be able to assert something about it (could also test the unoptimized images audit output in there as well).

return null;
}

// TODO(phulce): use an average transfer time for data URI images
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

issue for this?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add the issue number to the TODO so we'll have the cross reference

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

if (!processed) {
return results;
} else if (processed instanceof Error) {
debugString = processed.message;
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

purposefully only using the last error (overwriting each time)?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah that seemed to be the pattern followed a few other places

const wastedRatioFullDPR = 1 - (usedPixelsFullDPR / actualPixels);

if (!Number.isFinite(wastedRatio)) {
return new Error(`Invalid image sizing information ${url}`);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

worth including size info for help debugging? could only be naturalWidth, naturalHeight, clientWidth, or clientHeight as the culprits.

OTOH this may never really happen

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah this theoretically should never happen and was just for catching a bug I had lower down.

return Promise.resolve({
scrollWidth: window.innerWidth,
viewportWidth: window.outerWidth
viewportWidth: window.outerWidth,
devicePixelRatio: window.devicePixelRatio,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, sounds good for now. If we add another measure here we can change it :)

return Object.assign(imgElementInfo, {
isPicture: true,
// nested chain is too deep for DevTools to handle so stringify
sources: JSON.stringify(sources),
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, maybe remove if we don't use it

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@brendankenny
Copy link
Member

I agree on postponing and we can just leave that issue open for now.

Would you mind adding a checklist or whatever of possible improvements (and the TODO you added in this PR and anything else you've thought about while writing this) at the top of that issue so we have a central place for tracking?

@ebidel ebidel mentioned this pull request Jan 24, 2017
2 tasks
@patrickhulce
Copy link
Collaborator Author

Would you mind adding a checklist or whatever of possible improvements (and the TODO you added in this PR and anything else you've thought about while writing this) at the top of that issue so we have a central place for tracking?

Done but split out the TODO into a new issue since it isn't really responsive image specific (applies to all byte efficiency audits)

@patrickhulce
Copy link
Collaborator Author

@brendankenny PTAL :)

Copy link
Member

@brendankenny brendankenny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

two last things :)

@@ -113,7 +113,16 @@
</template>

<template id="unoptimized-images-tmpl">
<img src="data:image/jpeg;base64,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
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

does this warning show up in the extendedInfo and so can be checked?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it's the 2nd in length: 2

return null;
}

// TODO(phulce): use an average transfer time for data URI images
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add the issue number to the TODO so we'll have the cross reference

Copy link
Member

@brendankenny brendankenny left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🖼↕️ LGTM!
↔️

@brendankenny brendankenny merged commit bf964de into master Jan 25, 2017
@brendankenny brendankenny deleted the image_usage branch January 25, 2017 00:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants