Skip to content

Animation stutters when UI Thread is under heavy load #159

@Jianlong-Nie

Description

@Jianlong-Nie

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

  1. Use a Rive animation as a splash screen in a React Native (Expo) app
  2. 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)
  3. 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.

MicrosoftTeams-video.-.2026-02-12T170530.326.mp4

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions