ライブ配信アプリのアイテム再生をMetalで実装する事になった話 @noppefoxwolf #iosdc #b
https://fortee.jp/iosdc-japan-2018/proposal/c16d1496-4738-45f0-8c34-6e8f04b7c3ac
DeNAのライブ配信アプリPocochaで実装した画面全体に再生されるエフェクトの実装の話をします。
iOSでは再生出来ない透過動画の再生を行う実装や、それらの実装の中で利用した巨大なシーケンス画像群の再生に最適なアーキテクチャをAPNG/WEBPなどのフォーマットやUIImageView/OpenGLES/Metalなどのパフォーマンス比較から読み解きます。
にわタコ
@niwatako
mp4が圧縮効率・(ハードウェア)デコード速度で優秀。 でも透過できない。 →コマごとにフレーム画像を抽出して、透過部のマスク画像を用意、CIFilterで合成しながら再生 ...iPhone 5c(Metal非対応)でやると合成・描画で24fps。そこでOpenGLESを使うことにする。60fps達成。 #iosdc #b
2018-09-02 11:43:22
にわタコ
@niwatako
ところがOpenGLのDeprecatedでMetalで実装することに やってみて感じた利点 - GPUプログラミング初心者に非常に優しい — GPU触る上で書きやすいI/F — デバッガが非常に優秀で理解を深めやすい #iosdc #b
2018-09-02 11:44:34
kboy
@kboy_silvergym
Metalの利点はあるが、3Dをゴリゴリ使う人くらいしか喜ばない。。。 しかし、GPUプログラミング初心者には優しいI/F, デバッガー。 #iosdc #b
2018-09-02 11:44:41
shiz(しず)@翻訳本発売中
@stzn3
Metalの利点 - GPUプログラミング初心者に優しい - デバッガーが優秀 - Swift/ObjCでも描きやすいモダンなIF - コンパイル時に問題が発覚しやすい - シェーダーのエラーもコンパイル時に教えてくれる #iosdc #b
2018-09-02 11:46:13