-
Notifications
You must be signed in to change notification settings - Fork 27k
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
Add css blur when placeholder=blur
#25945
Conversation
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks good. I agree we need to apply a blur here, and the CSS method should be the easiest way to do that right now.
@Joonpark13 let's discuss a plan for measuring performance differences between this and the wrapper SVG strategy. We can switch back in the future if it looks like there will be LCP benefits.
Stats from current PRDefault Server Mode (Increase detected
|
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
buildDuration | 12.3s | 12.6s | |
buildDurationCached | 3.1s | 3s | -58ms |
nodeModulesSize | 46.5 MB | 46.5 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.44 | 2.454 | |
/ avg req/sec | 1024.74 | 1018.87 | |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.329 | 1.26 | -0.07 |
/error-in-render avg req/sec | 1881.66 | 1983.37 | +101.71 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
framework-HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
main-HASH.js gzip | 20.2 kB | 20.2 kB | ✓ |
webpack-HASH.js gzip | 804 B | 804 B | ✓ |
Overall change | 60.3 kB | 60.3 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31.1 kB | 31.1 kB | ✓ |
Overall change | 31.1 kB | 31.1 kB | ✓ |
Client Pages
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
_app-HASH.js gzip | 801 B | 801 B | ✓ |
_error-HASH.js gzip | 3.07 kB | 3.07 kB | ✓ |
amp-HASH.js gzip | 527 B | 527 B | ✓ |
css-HASH.js gzip | 334 B | 334 B | ✓ |
hooks-HASH.js gzip | 890 B | 890 B | ✓ |
index-HASH.js gzip | 263 B | 263 B | ✓ |
link-HASH.js gzip | 1.64 kB | 1.64 kB | ✓ |
routerDirect..HASH.js gzip | 333 B | 333 B | ✓ |
withRouter-HASH.js gzip | 330 B | 330 B | ✓ |
bb14e60e810b..30f.css gzip | 125 B | 125 B | ✓ |
Overall change | 8.31 kB | 8.31 kB | ✓ |
Client Build Manifests
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
_buildManifest.js gzip | 392 B | 392 B | ✓ |
Overall change | 392 B | 392 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
index.html gzip | 572 B | 572 B | ✓ |
link.html gzip | 579 B | 579 B | ✓ |
withRouter.html gzip | 567 B | 567 B | ✓ |
Overall change | 1.72 kB | 1.72 kB | ✓ |
Serverless Mode
General Overall increase ⚠️
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
buildDuration | 14.3s | 14.2s | -129ms |
buildDurationCached | 4.1s | 4s | -76ms |
nodeModulesSize | 46.5 MB | 46.5 MB |
Client Bundles (main, webpack, commons)
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
framework-HASH.js gzip | 39.3 kB | 39.3 kB | ✓ |
main-HASH.js gzip | 20.2 kB | 20.2 kB | ✓ |
webpack-HASH.js gzip | 804 B | 804 B | ✓ |
Overall change | 60.3 kB | 60.3 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31.1 kB | 31.1 kB | ✓ |
Overall change | 31.1 kB | 31.1 kB | ✓ |
Client Pages
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
_app-HASH.js gzip | 801 B | 801 B | ✓ |
_error-HASH.js gzip | 3.07 kB | 3.07 kB | ✓ |
amp-HASH.js gzip | 527 B | 527 B | ✓ |
css-HASH.js gzip | 334 B | 334 B | ✓ |
hooks-HASH.js gzip | 890 B | 890 B | ✓ |
index-HASH.js gzip | 263 B | 263 B | ✓ |
link-HASH.js gzip | 1.64 kB | 1.64 kB | ✓ |
routerDirect..HASH.js gzip | 333 B | 333 B | ✓ |
withRouter-HASH.js gzip | 330 B | 330 B | ✓ |
bb14e60e810b..30f.css gzip | 125 B | 125 B | ✓ |
Overall change | 8.31 kB | 8.31 kB | ✓ |
Client Build Manifests
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
_buildManifest.js gzip | 392 B | 392 B | ✓ |
Overall change | 392 B | 392 B | ✓ |
Serverless bundles
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
_error.js | 16.9 kB | 16.9 kB | ✓ |
404.html | 2.44 kB | 2.44 kB | ✓ |
500.html | 2.43 kB | 2.43 kB | ✓ |
amp.amp.html | 10.8 kB | 10.8 kB | ✓ |
amp.html | 1.63 kB | 1.63 kB | ✓ |
css.html | 1.81 kB | 1.81 kB | ✓ |
hooks.html | 1.69 kB | 1.69 kB | ✓ |
index.js | 17.2 kB | 17.2 kB | ✓ |
link.js | 17.4 kB | 17.4 kB | ✓ |
routerDirect.js | 17.4 kB | 17.4 kB | ✓ |
withRouter.js | 17.4 kB | 17.4 kB | ✓ |
Overall change | 107 kB | 107 kB | ✓ |
Webpack 4 Mode (Increase detected ⚠️ )
General Overall increase ⚠️
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
buildDuration | 11s | 11.1s | |
buildDurationCached | 4.4s | 4.4s | -53ms |
nodeModulesSize | 46.5 MB | 46.5 MB |
Page Load Tests Overall increase ✓
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
/ failed reqs | 0 | 0 | ✓ |
/ total time (seconds) | 2.603 | 2.568 | -0.04 |
/ avg req/sec | 960.48 | 973.64 | +13.16 |
/error-in-render failed reqs | 0 | 0 | ✓ |
/error-in-render total time (seconds) | 1.275 | 1.262 | -0.01 |
/error-in-render avg req/sec | 1960.35 | 1980.54 | +20.19 |
Client Bundles (main, webpack, commons)
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
677f882d2ed8..HASH.js gzip | 13.4 kB | 13.4 kB | ✓ |
framework.HASH.js gzip | 39 kB | 39 kB | ✓ |
main-HASH.js gzip | 7.99 kB | 7.99 kB | ✓ |
webpack-HASH.js gzip | 751 B | 751 B | ✓ |
Overall change | 61.1 kB | 61.1 kB | ✓ |
Legacy Client Bundles (polyfills)
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
polyfills-HASH.js gzip | 31.3 kB | 31.3 kB | ✓ |
Overall change | 31.3 kB | 31.3 kB | ✓ |
Client Pages
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
_app-HASH.js gzip | 1.07 kB | 1.07 kB | ✓ |
_error-HASH.js gzip | 3.74 kB | 3.74 kB | ✓ |
amp-HASH.js gzip | 536 B | 536 B | ✓ |
css-HASH.js gzip | 339 B | 339 B | ✓ |
hooks-HASH.js gzip | 887 B | 887 B | ✓ |
index-HASH.js gzip | 227 B | 227 B | ✓ |
link-HASH.js gzip | 1.63 kB | 1.63 kB | ✓ |
routerDirect..HASH.js gzip | 303 B | 303 B | ✓ |
withRouter-HASH.js gzip | 302 B | 302 B | ✓ |
e025d2764813..52f.css gzip | 125 B | 125 B | ✓ |
Overall change | 9.17 kB | 9.17 kB | ✓ |
Client Build Manifests
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
_buildManifest.js gzip | 420 B | 420 B | ✓ |
Overall change | 420 B | 420 B | ✓ |
Rendered Page Sizes
vercel/next.js canary | vercel/next.js blur-background-css-filter | Change | |
---|---|---|---|
index.html gzip | 626 B | 626 B | ✓ |
link.html gzip | 633 B | 633 B | ✓ |
withRouter.html gzip | 619 B | 619 B | ✓ |
Overall change | 1.88 kB | 1.88 kB | ✓ |
Failing test suitesCommit: e78c73b test/integration/basic/test/index.test.js
Expand output● Basic Features › should polyfill Node.js modules
|
* Add css blur when `placeholder=blur` * Fix tests
Fixes pixelation so it looks smoother when loading an image with
placeholder=blur
Before
After