React-native: Perf monitor FPS around 30

Created on 28 Oct 2016  路  24Comments  路  Source: facebook/react-native

https://productpains.com/post/react-native/fix-fps-monitor-on-ios
guys please vote. I liked this tool so much 馃槶

Description

Without any interaction FPS monitor shows 30 fps for js and ui thread.

Reproduction

Just launch perf monitor

Additional Information

  • React Native version: 0.34, 0.36, master
  • Platform: iOS(simulator), Android and iOS can't test now, but will test later.
  • Operating System: MacOS, (XCode 8, XCode7)
Locked

Most helpful comment

Latest version of Xcode 8.3 (8E162) and Mac Sierra 10.12.4 (16E195) fix the issue.
It's running 60FPS again 馃帀

simulator screen shot mar 30 2017 6 32 09 pm

All 24 comments

Also I noticed that JSC memory consumption field is always 0.00.

I'm pretty sure this is a new "feature" in the iOS simulator since XCode 8.

I noticed the same slowdown after upgrading to XCode 8. It's not limited to React Native it seems. The Simulator speeds up to 60fps when you interact with it. You can test this in any app, e.g. open Settings app, swipe-scrolling with the mouse pressed down. Notice how smooth it is. When you let go and inertial scrolling takes over, you'll see the stuttering begins. RN apps just seem more sensitive to this change.

@scarlac's answer makes sense here, I can't find any official Apple documentation about this though. I wonder if there is a way to disable this, anybody know?

I've created objective-c app and CADisplayLink selector called just 30 times per seconds 馃槩

Let's close this then, it's how iOS works, filing a radar with Apple sounds like the path forward here.

Also experience this issue, the simulator seems be unusable since even a touchable reaction became slow.

The same behavior is reproduced in the Xcode 7.3 (my version is the 7.3.1 (7D1014) ),
the only difference is that JSC memory consumption field display a value different then 0.0

@skv-headless are you using macOS Sierra? I think this issue is related to a change in the system.

Yes. I use macOS Sierra. I also think that's the reason.

Yes, it's the MacOS sierra. Just reversed to El Capitan and the simulator returned to run in 60fps. Haven't test yet with Xcode 8. But as I remember last month before the update it was working fine too.

@skv-headless : Do you solve this problem?

I'm seeing very similar issues on Sierra with XCode 8. 23 - 30 FPS, and 1 second touch response times with react-native. Let me know if I can do anything to help debug.

@joehoyle I downgrade to El Capitan, and it just works fine. It's an behavior of Sierra.
And isn't related to Xcode or React Native

Hmm so this is _intentional_ behaviour from Apple do you think? I can understand 30FPS, but the super laggy mouse clicks / touch interactions and animations makes it virtually impossible to feel productive with the simulator!

Yes, it's virtually impossible use the simulator in that way. Hope they don't do it in the next version of the iOS too. This is kinda a limit to the CADisplayLink in idle mode, when you start interacting it's supposed be more fast, but it doesn't work well to the RN apps.

On sierra all iOS interface is laggy. Try to move on screens or go to the settings.

Also experiencing massive lag on iOS simulator when debugging in chrome since updating to Sierra. If I stop remote debugging, close the chrome debugger tab and then turn remote debugging back on it resolves the problem temporarily but seems to return after a few reloads.

Same experience with fps drop in Simulator, since upgrading from El Capitan to Sierra. It was 60 fps, now it's 30 or less. Would be great if there's a workaround, in macOS?

same in here. I use macOSX serria 10.12.1 and it is slow. i get only 21 - 24 FPS.

I downgraded to Elcapitan 10.11 , it solved

Requiring downgrade in one's OS is no "solution", or that this isn't an issue.

same issue :(

Having same issue...

Just reporting here that, yesterday with el captain the simulator was fine, and today post update to sierra I'm having the same problem.

Latest version of Xcode 8.3 (8E162) and Mac Sierra 10.12.4 (16E195) fix the issue.
It's running 60FPS again 馃帀

simulator screen shot mar 30 2017 6 32 09 pm

Just confirming what @rodriguesbreno said, these updates fix the issue.

Was this page helpful?
0 / 5 - 0 ratings