-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Animation Smoothness Explainer #1003
base: main
Are you sure you want to change the base?
Conversation
@jenna-sasson please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
Contributor License AgreementContribution License AgreementThis Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
|
I'm genuinely excited to see your proposal regarding the ability to track smoothness in web applications with browser API. In our own product (Excel Online), we would definitely make extensive use of an API like this, and I’m confident many other web applications would benefit from it as well. Over a year ago, I built an internal infrastructure aimed at monitoring animation smoothness, and I’d love to share some insights based on that experience. One key aspect I believe is critical, you did mention in the background section, is the FPS consistency. However, I didn't see it clearly addressed in the specific API options. FPS consistency is crucial because it helps identify the exact points where performance drops occur. For example, you might have a 10-second animation that appears fine in aggregate, but actually experiences complete frame drops for half a second, which wouldn't be reflected in an average FPS calculation over the full duration. I believe the API output should provide enough detail to estimate frame drops more accurately. This could be achieved by either returning the timestamps of received frames, allowing us to calculate the gaps ourselves, or by letting the user specify a time interval (e.g., 100ms) to compute localized FPS values. This is the approach we took internally, and it significantly improved the accuracy of our measurements. Of course, having a native API to rely on, rather than using requestAnimationFrame and its limitations, would be a great advantage. If you'd like, I'd be happy to continue the discussion offline and dive deeper into the topic. |
@mmocny did a bunch of work on this. It might be worthwhile for y'all to chat :) |
No description provided.