Chrome’s Heavy Ad Intervention will unload ads that exceed their allowance for CPU or network usage. Learn how to monitor these with the Reporting API and update your ads to avoid issues.
Chrome 77 is rolling out now! There’s a better way to track the performance of your site with Largest Contentful Paint. Forms get some new capabilities. Native lazy loading is here. The Chrome DevSummit is happening November 11-12 2019. And plenty more. Let’s dive in and see what’s new for developers in Chrome 77!
LayoutNG is a new layout engine for Chromium that has been designed for the needs of modern scalable web applications. It improves performance isolation, better supports scripts other than Latin, and fixes many float, margin, and web compatibility issues.
Chrome 75 is rolling out now. There’s a new way to reduce latency on
canvas elements. Web apps can now share files to other installed apps using the system level share sheet. All of talks from Google I/O are on our YouTube channel. And plenty more. Let’s dive in and see what’s new for developers in Chrome 75!
A quick overview of paint holding. A Chromium feature for reducing the flash of white on same-origin navigations
Priority Hints are coming to an Origin Trial near you! Try them out!
Where should we implement logic and rendering in our applications? Should we use Server Side Rendering? What about Rehydration? Let's find some answers!
Chrome 69 includes an incorrect change to our paint-timing metrics, which was intended to capture more of the rendering pipeline, but resulted in some inaccurate timestamps.
Learn the current tools, libraries and optimization techniques that make improving web performance easier, by following the Oodles Theater project.
OffscreenCanvasAPI is available as of Chrome 69. This article explains how you can use it to achieve performance improvements in rendering graphics in your web app.
Today we're releasing the CrUX Dashboard that you can use to better understand how an origin's performance evolves.
Speed is now a landing page factor for Google Search and Ads.
The Page Lifecycle API brings app lifecycle features common on mobile operating systems to the web. Browsers are now able to safely freeze and discard background pages to conserve resources, and developers can safely handle these interventions without affecting the user experience.
Chrome 63 shipped with NoState Prefetch. NoState Prefetch is a mechanism for fetching resources in advance that uses less memory than the deprecated prerendering process.
Announcing the addition of the First Input Delay (FID) experimental metric to the Chrome User Experience Report.
Chrome 65 adds support for the new CSS Paint API, which allows you to programmatically generate an image. You can use the Server Timing API to provide server performance timing information via HTTP headers, and the new CSS display: contents property can make boxes disappear! Let’s dive in and see what’s new for developers in Chrome 65!
The non-standard chrome.loadTimes() API will be deprecated in Chrome 64 now that standards-based equivalents exist for all of its useful features.
The Device Memory API allows developers to serve different resources to users based on their device's memory capabilities.
A few tricks are necessary to animate a blur efficiently.
With Chrome 60, you can now measure time to first paint and time to first contentful paint with the Paint Timings API. You can control how fonts are rendered with the font-display CSS property. WebAssembly has landed and there's plenty more!
Providing a smooth user experience is important for the web. Over the past few releases of Chrome we have driven down input latency across these devices.
When making expand and collapse effects you can use scale transforms to keep your UI performant.
Custom transform matrices allow you to build frame-perfect custom scrollbars.
Navigation preload lets you overcome service worker startup time by making requests in parallel.
What's new in Lighthouse 1.5. New audits, extension updates, Performance Experiment, online Viewer features, and UI tweaks.
What's new in Lighthouse. Redesign, new best practice audits, and an online report viewer.
After a long time absent from Chrome, position:sticky is back.
When used judiciously paralaxing can add of depth and subtlety to a web app.
The new CSS Containment property lets developers limit the scope of the browser’s styles, layout and paint work.
The W3C Performance Timeline specification defines an interface for browsers to provide programmatic access to low level timing data. This opens the door to some interesting use cases like custom performance analysis, third party tools and more.
New to Chrome 51, passive event listeners provide a major potential boost to scroll performance.
Start processing your service worker responses ASAP, thanks to ReadableStreams.
Support for canvas.toBlob set to land in Chrome 50.
Support for image decoding in workers set to land in Chrome 50.
Chrome 50 adds support for
rel='preload', and deprecates
Find out when events occur with microsecond precision, thanks to DOMHighResTimeStamp.
Reducing Chrome's memory footprint is one of the team's top priorities this year.
Image optimization is hard and automation is the key to success.
requestIdleCallback is new performance API for scheduling work when the browser is idle.
Chrome can now add custom poster images to object elements to improve perceived loading performance of plugins such as Flash.
If you can't measure the performance of your requests in a service worker, how can you say it improves performance? Now you can answer that question with recent changes in Chrome.
Add service worker-powered offline capabilities to your site with the sw-precache module.
The story of building the Chrome Dev Summit site.
A brand new API is in the works to help measure frames per second in the wild, but it needs your feedback.
Use PSI to get web performance metrics into your build process.
Every click interaction in mobile browsers is hampered with a 300ms delay, but that's gone in Chrome 32 for mobile-optimized sites!
Good news: new flexbox (display: flex) is 2.3x faster than old flexbox (display: box)!
How to convert ArrayBuffer to and from String