Skip to content

[IOS] Perfomance degradation for Pro Motion devices (e.g. 120 FPS) on New Architecture #7984

@Navipro70

Description

@Navipro70

Description

Me and users of my application reported bad experience for animated parts of my app on Pro Motion iPhone devices. I've been using reanimated a lot, so previous app developed by me on Old Architecture was showing 120 FPS for animations (when it possible of course), but my current app is very simple, also I have different libraries based on reanimated: gorhom/bottom-sheet, react-native-reanimated-carousel, reanimated-zoom. All of them don't performance 120 FPS, even my LayoutAnimations were dropping frames and perform <60 FPS

I've described a lot here: #7435 (comment)

@tomekzaw

Steps to reproduce

  1. Create an Expo or CLI app with reanimated
  2. Create simple animation (like button and animated translateX)
  3. Build your app with release scheme on a physical device (iPhone with Pro Motion screen)
  4. See how it runs 60 FPS or lower

I had set up highly described repo to reproduce this behavior and also proof that animations aren't smooth by comparison with native animated UIView, because I haven't found a way to measure FPS it can be only viewed and also it's not dropping device FPS at all, only Reanimated part is dropping FPS (my opinion)

A lot described at Readme.md: https://github.com/Navipro70/reanimated-new-arch-ios-fps-dropdown-repro

Also I've experienced the same on reanimated: 3.17.4 with react-native: 0.79.1

Snack or a link to a repository

https://github.com/Navipro70/reanimated-new-arch-ios-fps-dropdown-repro

Reanimated version

4.0.1

Worklets version

0.4.1

React Native version

0.80.2

Platforms

iOS

JavaScript runtime

Hermes

Workflow

React Native CLI

Architecture

New Architecture (Fabric renderer)

Build type

Release app & dev bundle, Release app & production bundle

Device

Real device

Host machine

macOS

Device model

iPhone 15 Pro

Acknowledgements

Yes

Metadata

Metadata

Assignees

No one assigned

    Labels

    Platform: iOSThis issue is specific to iOSRepro providedA reproduction with a snippet of code, snack or repo is provided

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions