

If the user had interacted with the page just a moment earlier (during the idle period) the browser could have responded right away. In this example the user just happened to interact with the page at the beginning of the main thread's most busy period.

The time it must wait is the FID value for this user on this page.

click on a link), there will be a delay between when the click is received and when the main thread is able to respond.Ĭonsider what would happen if a user tried to interact with the page near the beginning of the longest task:īecause the input occurs while the browser is in the middle of running a task, it has to wait until the task completes before it can respond to the input. You may have noticed that there's a fair amount of time (including three long tasks) between FCP and TTI, if a user tries to interact with the page during that time (e.g. To illustrate how this can happen, FCP and TTI have been added to the timeline: Long first input delays typically occur between First Contentful Paint (FCP) and Time to Interactive (TTI) because the page has rendered some of its content but isn't yet reliably interactive. This results in periods where the main thread is momentarily busy, which is indicated by the beige-colored task blocks. The above visualization shows a page that's making a couple of network requests for resources (most likely CSS and JS files), and-after those resources are finished downloading-they're processed on the main thread. See why only consider the input delay below for more details.Ĭonsider the following timeline of a typical web page load: While this time does affect the user experience, including it as part of FID would incentivize developers to respond to events asynchronously-which would improve the metric but likely make the experience worse.
#Zero input delay pickaxes update#
It does not measure the event processing time itself nor the time it takes the browser to update the UI after running event handlers. To ensure you're hitting this target for most of your users, a good threshold to measure is the 75th percentile of page loads, segmented across mobile and desktop devices.įID only measures the "delay" in event processing. To provide a good user experience, sites should strive to have a First Input Delay of 100 milliseconds or less. when they click a link, tap on a button, or use a custom, JavaScript-powered control) to the time when the browser is actually able to begin processing event handlers in response to that interaction. What is FID? #įID measures the time from when a user first interacts with a page (i.e. The First Input Delay (FID) metric helps measure your user's first impression of your site's interactivity and responsiveness. Equally important is how responsive your site is when users try to interact with those pixels! But how fast your site can paint pixels to the screen is just part of the story. The first impression users have of how fast your site loads can be measured with First Contentful Paint (FCP). While it is hard to measure how much users like a site's design with web APIs, measuring its speed and responsiveness is not! On the web, first impressions can take a lot of different forms-we have first impressions of a site's design and visual appeal as well as first impressions of its speed and responsiveness. The question is, what makes for a good impression, and how do you measure what kind of impression you're likely making on your users? On the web, a good first impression can make the difference between someone becoming a loyal user or them leaving and never coming back. It's important when meeting new people, and it's also important when building experiences on the web. We all know how important it is to make a good first impression. First Input Delay (FID) is an important, user-centric metric for measuring load responsiveness because it quantifies the experience users feel when trying to interact with unresponsive pages-a low FID helps ensure that the page is usable.
