iT邦幫忙

2026 iThome 鐵人賽

DAY 16
0
Modern Web

Rive 的一些進階主題系列 第 16 篇

[Day 16] 實務建議 3:切分 Rive 檔案

  • 分享至 

  • xImage
  •  

昨天在音樂音效有提到 preload 跟快取,這兩天會來講一下目前針對 Rive 檔會用到的一些載入策略,其實跟其他靜態資源的處理方式都差不多啦,以下先假設大家對關鍵渲染路徑有基本的認識。

在進到 preload 之前,最好先把 Rive 檔案的體積優化一下,以下是我們常用的一些手法。

縮小檔案體積

首先就我們的經驗來說,Rive 檔跟程式碼一樣,裡面常常有一些實際上根本沒用到的檔案或資源,因為種種的原因,這些東西通常比想像中要來的再多一點 🙂,把這些沒用到的東西都刪一刪,可以有效放出不少容量,明顯縮小檔案體積。

另外有時候 Rive 裡面的動畫可能是用序列圖做的,因此會載入很多張圖片。針對這種動畫,除了可以適時考慮減少幀數以外,聽說厲害的設計師有辦法透過 AI 還是什麼神奇的 MCP,抓出序列素材中重複的部分,可以進一步減少要載入的圖片數量。這招也是我們最近才聽說的,就我們這次的效果來說,前後大概少了 30% - 40% 的圖片,是真的蠻有用的,不過細節要問設計師大大們比較準。

除此之外,理論上如果是向量圖片,可以考慮直接在 Rive 裡面生成,就不用再另外載入一張資源。不過聽說 Rive 作圖沒有很好做,所以還是要斟酌一下成本。當然壓縮圖片之類的基本功就不特別提了。

把素材跟 Rive 擋拆開

減完容量後,如果還有需要進一步改善載入速度的話,Rive 官方有提供 API,可以把 Rive 檔跟素材拆開來。這部分也是比較新的東西,所以語法什麼的都還沒有很穩定,有用到的話再去查文件就好。
總之這樣做的好處是,一來是平行的載入,不用一次載一大包,二來可以分別幫素材做 preload & cache,甚至按照當下的裝置或網速,動態套用不同大小的素材,都比較方便。

另外如果 Rive 檔比較精緻,又需要支援弱網環境的話,強烈建議做一個 LITE 版本的 Rive 檔,很多事情都能解決了。但老實說,有時候這不只是技術的問題,畢竟 Rive 檔做得這麼漂亮,弄一個 LITE 版的是有點可惜,不一定大家都能接受,所以就視情況斟酌這樣。

優化完 Rive 檔案本身後,就可以來處理載入時機的問題。


上一篇
[Day 15] 實務建議 2:音樂音效
下一篇
[Day 17] 實務建議 4:preload
系列文
Rive 的一些進階主題 共 18 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言