-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Description
When the JS thread is under heavy load during app initialization, the Rive animation visibly stutters/glitches. This suggests the animation tick is running on (or being blocked by) the JS thread.
Steps to Reproduce
- Use a Rive animation as a splash screen in a React Native (Expo) app
- Log in as a user that triggers a large amount of JS work on startup (e.g., a creator account that loads many queries, contexts, and subscriptions)
- Observe the splash screen Rive animation
Expected Behavior
The animation should play smoothly regardless of JS thread load, as the rendering/animation tick should be handled natively.
Actual Behavior
The animation stutters and glitches when the JS thread is busy processing initialization work.
Environment
@rive-app/react-native(rive-nitro-react-native)- React Native (Expo)
- iOS
Additional Context
Comparing with Lottie (lottie-react-native), which runs its animation engine natively and is not affected by JS thread load, the Rive animation appears to be at least partially dependent on the JS thread for its animation tick.
Is there a way to ensure the animation runs entirely on the native/UI thread, decoupled from JS thread activity? Any workaround or roadmap item for this would be appreciated.