选择渲染器
Rive 根据平台和运行时使用各种不同的渲染器。我们正在努力通过 Rive 渲染器统一所有平台/运行时使用的默认渲染器。
渲染器选项与默认值
要使用特定的渲染器,请参阅指定渲染器。
下表列出了 Rive 各运行时可用的渲染器及其默认值:
| 运行时 | 默认渲染器 | 选项 |
|---|---|---|
| Android | Rive | Rive / Canvas / Skia(自 v10.0.0 起已移除) |
| Apple | Rive | Rive |
| React Native | Rive | 参见 Apple 和 Android |
| Web (Canvas) | Canvas2D | Canvas2D |
| Web (WebGL2) | Rive | Rive |
| Flutter | 无默认值 | Rive / Flutter(Skia / Impeller) |
Rive 渲染器
Rive 渲染器是一种新的渲染引擎,旨在为所有平台提供更好的性能和视觉保真度。它利用现代图形 API 和技术为 Rive 图形提供高质量渲染。
它还使 Rive 能够创新新功能,例如矢量羽化,这些功能仅通过 Rive 渲染器支持。更多信息请参阅我们的功能支持页面。
Apple
起始版本
Rive 渲染器自 v6.0.0 起成为 Apple 运行时的默认渲染器,但我们建议安装最新版本的依赖项以获取最新更新。有关最新版本的详细信息,请参阅 CHANGELOG。
性能
与之前的默认渲染器相比,Rive 渲染器在动画播放过程中的内存使用方面在 Apple 运行时上表现最佳。
RiveRuntime(当前运行时):
Rive 渲染器是 Apple 运行时的唯一渲染器。
该渲染器按每个 Worker 对 象进行多线程处理。这意味着对于每个 Worker 对象,都会创建一个新线程来处理和渲染 Rive 图形。
RiveRuntime(旧版运行时):
在 UIKit 中,你可以通过在单个 RiveView 上多次绘制来看到最佳性能差异,而不是创建多个 RiveView 实例或多个 RiveViewModel。
示例: 参见此压力测试示例,了解如何重写 RiveView 上的绘制函数,在同一个视图上多次绘制,每个图形带有偏移。你可以通过上述配置切换渲染器,自行测试性能!
Android
起始版本
Rive 渲染器自 v10.0.0 起成为 Android 运行时的默认渲染器。但我们建议安装最新版本的依赖项以获取最新更新。有关最新版本的详细信息,请参阅 CHANGELOG。
Web (JS)
起始版本
Rive 渲染器自 v2.11.1 起在 Web (JS)/WASM 运行时中引入,使用以下包:
@rive-app/webgl2
但我们建议安装最新版本的依赖项以获取最新更新。
此包不捆绑重量级渲染器依赖项(如 Skia),有助于保持较小的包体积。
启用草案扩展
在 Web 上,在 Chrome 中启用 WebGL 草案扩展可以改善 @rive-app/webgl2 的渲染性能。
在没有该扩展(或不支持该扩展的浏览器上),@rive-app/webgl2 会回退到基于 MSAA 的 WebGL2 路径。我们正在积极与浏览器供应商合作,使其默认启用。
与其他 Web (JS)/WASM 运行时相比,API 使用方式没有变化。
React Native
起始版本
在 v7.1.0 中引入了轻松配置默认渲染器的选项。对于 React Native,需要同时为 iOS 和 Android 设置默认渲染器。
选项:
- Apple:
Rive(默认)、CoreGraphics - Android:
Rive(默认)、Canvas