bi-11 step 03 — Policies, throttling, and INP attribution

Goal

Observe the five scheduling policies, and attribute an INP number to the right term.

Tasks

  1. Freezing and throttling. Measure timer behaviour in a foreground tab, a hidden tab, and a hidden cross-origin iframe. Confirm that throttling applies to timers.
  2. Pausing. Trigger alert() and confirm that rAF, timers, and animation all stop. Explain via ScopedPagePauser and the nested run loop.
  3. Deferring. Design an experiment to detect the ~2 s post-gesture deferral. Record whether you can observe it.
  4. INP attribution. Produce an interaction with >300 ms INP where your handler is <20 ms. Use LoAF blockingDuration and scripts[] to attribute the delay. Then reduce INP below 50 ms without making the total work faster — state exactly what you changed.
  5. Starvation. Chain high-priority tasks and find where anti-starvation intervenes.

Done when

  • Timer behaviour measured in three contexts
  • An INP decomposition where the handler is not the problem
  • INP fixed by rescheduling rather than optimising