Certain features, such as Vector Feathering, are only supported through the Rive Renderer. See our Feature Support page for more information.
Renderer Options and Default
You can opt-in to use a specific renderer, see Specifying a Renderer. The table below outlines the available, and default, renderers for Rive’s runtimes:Runtime | Default Renderer | Options |
---|---|---|
Android | Rive | Rive / Canvas / Skia (removed as of v10.0.0) |
Apple | Rive | Rive / Core Graphics / Skia (deprecated in v6.0.0) |
React Native | Rive | See Apple and Android |
Web (Canvas) | Canvas2D | Canvas2D |
Web (WebGL) | Skia | Skia |
Web (WebGL2) | Rive | Rive |
Flutter | No default | Rive / Flutter (Skia / Impeller) |
Rive Renderer
The Rive Renderer is a new rendering engine designed to provide better performance and visual fidelity across all platforms. It leverages modern graphics APIs and techniques to deliver high-quality rendering for Rive graphics. It also allows Rive to innovate with new features, such as Vector Feathering, which are only supported through the Rive Renderer. See our Feature Support page for more information.Starting Version
The Rive Renderer was made the default renderer in Apple runtimes starting at v6.0.0, however, we recommend installing the latest version of the dependency to get the latest updates. See the CHANGELOG for details on the latest versions.Performance
The Rive Renderer will shine best on Apple runtimes in memory usage as an animation plays out, in comparison to previous default renderers.With UIKit, you’ll be able to see the best performance differences by drawing multiple times on a singleRiveView
, rather than creating multiple instances of RiveView
s, or multiple RiveViewModel
s.Example: See this stress test example to see how you can override the drawing function on RiveView
to draw multiple times on the same view, with each graphic at an offset. You can switch out the renderer with the above config and test out the performance for yourself!Specifying a Renderer
See below for runtime instructions to enable a specific renderer.Getting Started
Options:Rive (default) / Core Graphics / Skia (deprecated in v6.0.0)
Below are some notes on configuring the renderer in UIKit and SwiftUI.UIKit
Set the global renderer type during your application launch:SwiftUI
New SwiftUI applications launch with theApp
protocol, but you can still add UIApplicationDelegate
functionality.iOS
Create a new file and class calledAppDelegate
as such, including a line to set the defaultRenderer
to RendererType.riveRenderer
:UIApplicationDelegateAdaptor
to set the AppDelegate
created above for the application delegate.macOS
Create a new file and class calledAppDelegate
as such, including a line to set the defaultRenderer
to RendererType.riveRenderer
:UIApplicationDelegateAdaptor
to set the AppDelegate
created above for the application delegate.