Skip to content
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][SDK 50] expo-camera/next causes freeze on render for specific OnePlus Device model #28454

Open
patrick-merchant opened this issue Apr 25, 2024 · 1 comment

Comments

@patrick-merchant
Copy link

Minimal reproducible example

https://github.com/patrick-merchant/expo-camera-next-slow-render-mre

What platform(s) does this occur on?

Android

Did you reproduce this issue in a development build?

Yes

Summary

Experiencing a ~5s app freeze in development builds and ~3s in release builds when rendering 'CameraView' from expo-camera/next on a specific OnePlus Model. JS + UI threads appear blocked in Performance Monitoring and the freeze results in dropped frames.

Tested on a range of devices, observed only on two separate phones of the same model (running Android 12 + 13 respectively) - OnePlus Nord CE (EB2103). Standard 'Camera' from expo-camera renders without delay on this model.

Tested and rendered without unusual delay on:

  • OnePlus Nord CE 2 5G (IV2201) (Android 13)
  • OnePlus Nord CT (CPH2399) (Android 13)
  • Pixel 5 (Android 14)
  • Samsung Galaxy A21S (SM-A217F) (Android 12)

My understanding is that although CameraX hasn't been tested in the lab on this specific model, Camera X aims to support Android devices running Android 5.0 or higher. Am therefore unsure if the underlying issue stems from CameraX or expo-camera/next.

Please see gif for example of freezing minimally reproducible example on One Plus Nord CE:

expo-camera:next_mrp

Environment

expo-env-info 1.2.0 environment info:
System:
OS: macOS 14.0
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.19.0 - ~/.nvm/versions/node/v18.19.0/bin/node
Yarn: 1.22.21 - /opt/homebrew/bin/yarn
npm: 10.2.3 - ~/.nvm/versions/node/v18.19.0/bin/npm
Watchman: 2023.11.06.00 - /opt/homebrew/bin/watchman
Managers:
CocoaPods: 1.14.2 - /opt/homebrew/bin/pod
SDKs:
iOS SDK:
Platforms: DriverKit 23.0, iOS 17.0, macOS 14.0, tvOS 17.0, watchOS 10.0
IDEs:
Android Studio: 2022.3 AI-223.8836.35.2231.11005911
Xcode: 15.0.1/15A507 - /usr/bin/xcodebuild
npmPackages:
expo: ~50.0.17 => 50.0.17
react: 18.2.0 => 18.2.0
react-native: 0.73.6 => 0.73.6
npmGlobalPackages:
eas-cli: 5.9.2
Expo Workflow: managed

Expo Doctor Diagnostics

✔ Check Expo config for common issues
✔ Check package.json for common issues
✔ Check native tooling versions
✔ Check dependencies for packages that should not be installed directly
✔ Check for common project setup issues
✔ Check npm/ yarn versions
✔ Check for issues with metro config
✔ Check Expo config (app.json/ app.config.js) schema
✔ Check that native modules do not use incompatible support packages
✔ Check for legacy global CLI installed locally
✔ Check that packages match versions required by installed Expo SDK
✔ Check that native modules use compatible support package versions for installed Expo SDK

Didn't find any issues with the project!

@patrick-merchant patrick-merchant added the needs validation Issue needs to be validated label Apr 25, 2024
@expo-bot expo-bot added needs review Issue is ready to be reviewed by a maintainer and removed needs validation Issue needs to be validated labels Apr 25, 2024
@brentvatne
Copy link
Member

hey @patrick-merchant! is there any chance you could try to root cause this and submit a PR? we don't have access to this device, and so it would not be possible for us to reproduce it. there are so many quirks in the long tail of android devices and we are unable to procure and test against every device out there, so we depend on developers in the community to help out in those cases.

@brentvatne brentvatne added help wanted and removed needs review Issue is ready to be reviewed by a maintainer labels Apr 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants