rive-app / rive-app/rive-flutter

Periodic jank frames during Rive animation playback

Open
#624 1 comment 0 reactions 0 assignees View on GitHub

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
  1. Clone the reproducible example repo: https://github.com/eli1stark/rive_stutter
  2. Run on a physical iOS device (primarily tested there)
  3. Open DevTools → Performance Overlay
  4. Monitor the animation for 1–2 minutes
  5. 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.