Skip to content

High sustained CPU usage (~70%) when rendering a Rive scene in Flutter #666

Open

Description

@673636634

Submission checklist

  • I have confirmed the issue is present in the latest version of the rive Flutter package
  • I have searched the documentation and forums and could not find an answer
  • I have searched existing issues and this is not a duplicate

Description

Description

I am experiencing sustained CPU usage of approximately 70% while displaying a Rive garden scene in a Flutter app.

CPU usage remains around 70% after the scene has finished loading, rather than only spiking during initialization. This was observed on a physical iPhone in Release mode, not in Debug mode or on a simulator.

Test environment

  • Device: iPhone 12 (physical device)
  • Operating system: iOS 26.5
  • Build mode: Release
  • Flutter: 3.47.0 (stable)
  • Dart: 3.13.0
  • rive: 0.14.11
  • rive_native: 0.1.11
  • Rive renderer: Factory.rive

Scene setup

  • A main garden scene contains up to six flower plots.
  • Flower artboards are dynamically bound to the main scene.
  • Flower Rive files are loaded on demand.
  • Decoded flower files are reused within the garden controller, rather than decoded every frame.

Steps to reproduce

  1. Launch the app on an iPhone 12 in Release mode.
  2. Open the home screen containing the Rive garden scene.
  3. Wait for the scene and required flower assets to finish loading.
  4. Keep the garden screen visible and observe CPU usage.

Actual behavior

CPU usage remains around 70% while the garden scene is displayed.

Expected behavior

I would expect CPU usage to settle after loading, depending on the animations that remain active.

Questions

Could you help determine whether this sustained CPU usage is related to:

  • The animations or state machines in the Rive assets
  • Dynamically bound flower artboards
  • The rendering configuration
  • Our Flutter integration

Please let me know which profiling data, Rive assets, or minimal reproduction code would be most useful for investigating this issue.

Reproduction steps / code

  1. Run the Flutter app on a physical iPhone 12 running iOS 26.5 in Release mode.
  2. Open the garden screen, which renders a main Rive scene with dynamically bound flower artboards using Factory.rive.
  3. Wait for the Rive files to finish loading.
  4. Keep the garden screen visible and monitor the app's CPU usage.
  5. CPU usage remains around 70%, rather than only increasing during initial loading.

This has been observed in our application. I have not yet isolated and verified the issue in a minimal standalone reproduction.

Upload your reproduction files / stack trace

No response

Source .riv / .rev file

No response

Screenshots / video

No response

Rive Flutter package version

0.14.11

Flutter version

3.47.0 (stable)

Device

iPhone 12

OS version

iOS 26.5

Additional context

The issue was observed in Release mode on a physical device.

We use Factory.rive with rive 0.14.11 and rive_native 0.1.11. Flower files are loaded on demand and reused within the garden controller, rather than decoded every frame.

We have not yet isolated the cause or confirmed whether the same behavior occurs with Factory.flutter. Suggestions for profiling or narrowing down the issue would be appreciated.

Activity

  1. 673636634 commented on Oct 23, 2026

    @673636634
    Author
  2. added
    knownTriaged: understood and tracked on our side
    and removed
    needs-reproTriaged: waiting on a reproduction from the reporter
    on Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    knownTriaged: understood and tracked on our side

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions