Skip to content

Mobile Replay Making UI Thread FPS Lag 10-30 FPS Consistently #4499

@ansh

Description

@ansh

What React Native libraries do you use?

Expo Router, Expo Web, Expo (mobile only), Expo Application Services (EAS)

Are you using sentry.io or on-premise?

sentry.io (SaS)

@sentry/react-native SDK Version

~6.3.0

How does your development environment look like?

  "expo": "~52.0.26",
    "react": "18.3.1",
    "react-dom": "18.3.1",
    "react-native": "0.76.6",
    
newArchEnabled: false

Sentry.init()

Sentry.init({
  dsn: REDACTED_URL,
  debug: true, // If `true`, Sentry will try to print out useful debugging information if something goes wrong with sending the event. Set it to `false` in production
  enabled: !__DEV__,
  // enableNativeFramesTracking: Constants.executionEnvironment === ExecutionEnvironment.StoreClient,
  // integrations: [
  //   navigationIntegration,
  //   Sentry.mobileReplayIntegration({
  //     maskAllImages: false,
  //     maskAllText: false,
  //     maskAllVectors: false,
  //   }),
  // ],
  // _experiments: {
  //   replaysSessionSampleRate: 0.1,
  //   replaysOnErrorSampleRate: 1.0,
  // },
});

Steps to Reproduce

  1. Create a new project using create-expo-app with expo-dev-client and Expo SDK 52
  2. Install Sentry as shown in Expo docs
  3. Notice how UI thread FPS using built-in FPS monitor on device in dev mode is 60 FPS on the UI thread
  4. Enable enableNativeFramesTracking, and mobileReplayIntegration
  5. Look at UI thread FPS using built-in FPS monitor as being 10-30 FPS lower than normal
  6. This issue is fixed by commenting out the mobile replay stuff shown above

Expected Result

Sentry doesn't impact UI thread even on simple screens rendering nothing but a text component

Actual Result

UI thread under 60 consistently. Often times, under 30 FPS on a simple Hello World screen.

Metadata

Metadata

Assignees

Projects

Status

No status

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions