MicrosoftEdge / MicrosoftEdge/MSEdgeExplainers

[AnimationSmoothness] Drive-by feedback about the animation smoothness proposal

Open
#1,088 4 comments 0 reactions 1 assignee View on GitHub

@jenna-sasson is already working on this.

Since Jul 8, 2025.

AnimationSmoothness
Dominant language
HTML
Stars
1.4k
Forks
286
Avg merge
3d 1h
Merged PRs (30d)
8

Description

Animation smoothness is a tough one, because it combines the need to measure it statistically over time, react to changes, and also not create too much overhead, either by over-measuring or over-reporting to the timeline.

Following the explainer and the several good alternatives presented there, I would suggest to go with something along the line of a bespoke observer (not a PerformanceObserver that works on the performance timeline) that can be started, stopped, queried for statistical information, and fire events when certain thresholds have been passed.

Something like:

const observer = new FrameRateObserver();
observer.granularity = 10;
observer.start();
observer.stop();
observer.stats(options);
observer.addEventListener("change", event => { ... })

This can be built as a polyfill on top of requestAnimationFrame, but having it in the platform can have a much lower overhead which in this case is important enough.

Hope you find this feedback helpful and please keep at it, it's a great problem to solve!

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.