-
Notifications
You must be signed in to change notification settings - Fork 24.6k
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
Android FPS Monitor shows UI frame rate for JS frame rate #50338
Comments
Tip Newer version available: You are on a supported minor version, but it looks like there's a newer patch available - 0.77.2. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases. |
Tip Newer version available: You are on a supported minor version, but it looks like there's a newer patch available - undefined. Please upgrade to the highest patch for your minor or latest and verify if the issue persists (alternatively, create a new project and repro the issue in it). If it does not repro, please let us know so we can close out this issue. This helps us ensure we are looking at issues that still exist in the most recent releases. |
Thanks for the issue @mobinni. We will look into it soon! |
@cipolleschi it's only android as far as I can tell! iOS is giving me the right numbers (in both old and new arch). I'm also not sure if it's a Fabric only issue in Android, I didn't run it in old arch to confirm whether it affects both or not. |
Hi @mobinni, we've acknowledged this task and will take a look. Worth noting that we don't recommend the in-app Performance Monitor for performance measurements as it's never been that reliable (including "JS FPS" itself being an invented concept). You should be able to determine the UI frame rate more accurately using the first party tooling from Android Studio and Xcode. |
@huntie Appreciate the context — totally agree this isn’t a replacement for proper instrumentation and more rigorous tooling, and that JS FPS is more of a directional indicator than a precise metric. Still, it’s a valuable heuristic for catching performance regressions early, especially during iterative dev work. Even if it’s not perfect, having it behave consistently is key to building confidence and helping teams know when to dig deeper with more advanced profiling tools. |
Description
When opening the FPS monitor on Android the JS thread FPS and UI FPS are a copy of each other, which I believe means the JS FPS in the monitor is actually just a representation of the UI thread FPS?
Steps to reproduce
React Native Version
0.77.1
Affected Platforms
Runtime - Android
Output of
npx @react-native-community/cli info
Stacktrace or Logs
Reproducer
https://snack.expo.dev/@mobinni/thankful-red-truffle
Screenshots and Videos
Screen.Recording.2025-03-27.at.3.20.24.PM.mov
The other FPS monitor you see is the PerformanceMonitor from reanimated: https://github.com/software-mansion/react-native-reanimated/blob/main/packages/react-native-reanimated/src/component/PerformanceMonitor.tsx
The text was updated successfully, but these errors were encountered: