SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

CodeZineニュース

Airbnbがベクター動画のレンダリングエンジン「Lottie 4.0 for iOS」を公開、GPUを利用して描画をスムーズに

  • このエントリーをはてなブックマークに追加

  • このエントリーをはてなブックマークに追加

 米Airbnbは、ベクター動画のレンダリングエンジンの新版「Lottie 4.0 for iOS」を公開した。LottieはApache License 2.0で公開しているオープンソース・ソフトウェアだ。

 今回の新版の最大の特徴は、新しいレンダリングエンジンを標準として採用した点にある。古いレンダリングエンジンでは、CPUでベクター動画を描画していたが、iOSのCore Animation APIを使って全面的に書き直し、GPUでベクター動画を描画するようにした。このレンダリングエンジンは2022年7月公開の「バージョン3.4.0」で始めて導入したが、標準設定では有効になっていなかった。その後、開発者からの意見などを取り入れながらバグを修正し、今回の新バージョンで標準のレンダリングエンジンとした。

 Airbnbによると、古いレンダリングエンジンでは、アプリケーションのメインスレッドでベクター動画を描画していた。その結果、ベクター動画の描画でCPU時間の5〜20%を消費してしまい、 その結果アプリケーションのメインスレッドに負荷がかかったときに、ベクター動画が停止したり、フレーム落ちが発生したりしていた。

 そこでAirbnbは、iOSのCore Animation APIを利用して、レンダリングエンジンを刷新することを決めた。Core Animationを利用すれば、ベクター動画の描画はCPUではなくGPUが処理してくれる。CPUに重い負荷がかかっていたとしても、それに関係なくスムーズな描画を続けてくれる。

 Airbnbは、新しいレンダリングエンジンを採用することによって、CPUにかかる負荷を軽減でき、CPU使用率にかかわらず60〜120フレーム/秒でベクター動画を表示できるようになったとしている。

修正履歴
関連リンク

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
この記事の著者

CodeZine編集部(コードジンヘンシュウブ)

CodeZineは、株式会社翔泳社が運営するソフトウェア開発者向けのWebメディアです。「デベロッパーの成長と課題解決に貢献するメディア」をコンセプトに、現場で役立つ最新情報を日々お届けします。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/17005 2022/12/12 16:04

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング