I have tested my app with Google Lighthouse and saw very strange performance values.
On my local development system, the values for First Contentful Paint are:
- Desktop: 4.6s
- Mobile: 19.7s (!)
I have no clue where this huge difference comes from. If I look at the “original trace”, FCP has a timestamp of 1.19s (on mobile), which is a magnitude lower than that reported on the summary.
If I run the same on my production system, I get these values:
- Desktop: 1.2s
- Mobile: 6.2s
which is closer to each other, but still about 6 times higher on mobile. And the trace shows an FCP of 1.48s for mobile.
Does anybody know why the values differ that drastically? Does Google simulate slower networks for mobiles? And why do the values in the trace differ significantly from the overview?
PS: The actual impression you get when viewing the site on a mobile devices is pretty fast. And definitely not more than 20 seconds for “time to interactive”…
Ah, thanks, this explains the difference. But it won’t explain why the FCP in the trace is completely different. Also, I can see during the calculation process that the paint is definitely faster than 20 secs (more like 3-4 secs at most).
Check Simulated Throttling in the document above. There is also a link to a longer literature about the differences
indeed google has a really low benchmark for mobile devices, both in cpu power and transfer speeds.
I also noticed that not only FCP (first contentful paint), but also LCP (largest contentful paint) has a significant impact on the lighthouse score, so its good to invest in improving that as well.
E.g. if the FCP contains an image, you can preload that. this link has some useful information about that: https://web.dev/optimize-lcp/
…with a reply from a Lighthouse developer.
Yeah I’ve been wrestling with this recently on a non-meteor site. The simulated CPU takes ages to parse and execute css and JS files. Especially the css part has a huge impact on FCP/LCP, while the JS really hurts TTI and total blocking time
@waldgeist we found the biggest issues with First contentful Paint due to responsive Images that took ages to be recomputed. We now have separate Images for mobile with fixed with and height attributes