Hi,

We tested an intervention on Canary/Dev/Beta that reduces the frame rate by 
half (e.g., from 60fps to 30fps) after 4 consecutive frames without pixel 
changes. The frame rate returns to normal immediately upon pixel changes or 
input events. For example:

let last = performance.now();
let c = () => {
  window.requestAnimationFrame(c);
  let now = performance.now();
  console.log(now - last);
  last = now;
}
c();

The c() function's invocation frequency halves after 4 calls due to the 
lack of pixel updates. Note: As a result, a subsequent frame with pixel 
updates may be delayed by up to 1 frame (but frame rate returns to normal 
immediately after a frame with pixel updates).

This intervention significantly improves LCP, INP and CPU usage on Beta, 
confirming our prior observation that no-op frames often occupy the main 
thread during page load or input handling. To validate these results, we 
need a 1% stable experiment (user behavior differs between pre-stable and 
stable channels). Before proceeding, we'd appreciate feedback on potential 
issues this experiment might cause. We will determine our next steps based 
on input from this discussion.

Thanks,

François

[cc:  Chen, Li and Zheng, Hong from Intel who proposed and implemented this 
intervention]

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/a6db8984-6c56-4e84-954b-7b0ffae8b461n%40chromium.org.

Reply via email to