rive-app / rive-app/rive-flutter
Periodic jank frames during Rive animation playback
Nobody has claimed this yet.
- Dominant language
- Dart
- Stars
- 1.5k
- Forks
- 240
- PR merge metrics
- No merged PRs in 30d
Description
Description
Since migrating to rive 0.14.x, we've noticed that many of our animations produce occasional jank frames, even though they render fine ~95% of the time (under 5ms per frame). The jank appears as periodic single-frame hitches clearly visible in DevTools performance overlay, occurring roughly every 30-40 seconds in examples that we provided with no apparent trigger from app code.
This reproduces across three animation files of varying complexity:
| Animation | Description |
|---|---|
| Flat | Simple, stripped-down animation with no complexity |
| Feather | Extension of Flat with the Feather feature enabled |
| Component Feather | Uses components to build the logo (reusing the same component) |
All three variants consistently produce jank. The three test files are intentionally stripped-down versions of our production animation to isolate the issue — our prod animation, which is more complex, exhibits the same behavior.
Steps to reproduce
- Clone the reproducible example repo: https://github.com/eli1stark/rive_stutter
- Run on a physical iOS device (primarily tested there)
- Open DevTools → Performance Overlay
- Monitor the animation for 1–2 minutes
- You should observe periodic jank frames
All three animation variants (selectable via segmented button in the app) reproduce the issue.
Reproducible example
Repository: https://github.com/eli1stark/rive_stutter
The repo contains a minimal Flutter app with three .riv files and a segmented button to switch between them. The .rev source files for all three animations are also included in the repo (assets/logo_flat.rev, assets/logo_feather.rev, assets/logo_component_feather.rev).
Environment
- rive (Flutter):
0.14.5 - Flutter:
3.41.5(stable channel) - Dart:
3.11.3 - Renderer:
Factory.rive - Primary test device: Physical iOS device
Expected behavior
Animations should play smoothly without periodic jank frames.
Actual behavior
Periodic jank/stutter frames appear roughly every 30-40 seconds. The issue is reproducible across all three animation variants consistently.
Dev Tools
https://github.com/user-attachments/assets/98a04ea6-b1ac-4380-b3ba-7d274c07cf95
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Clone the linked rive_stutter repository and run its minimal Flutter app on a physical iOS device with DevTools Performance Overlay enabled. Monitor the Flat, Feather, and Component Feather variants for 1–2 minutes, then investigate the periodic frames against the included .riv and .rev assets. Done means the three variants play without recurring jank frames.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- dart, flutter, ios
- Domain
- mobile, performance
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100