Unite2017 参加しました その9
WebGL:ゲームプラットフォームとしてのWebと現在と未来
www.slideshare.net
WebGLの動機
ブラウザのプラグインを無くしたい
Web Assembly(.wasm)
対応状況
WASM MVP とは
- 最低限必要な要件が定義されている内容
- WASMモジュールの構造などに対応する、などなど
WASMの特徴
- 早い Nativeと比較して130〜150%くらいの実行時間で動くことができる。
asm.jsとWASMの違い
- WASMの方が早い。WASMは構文解析の時間が無いので早い。
- asm.jsはブラウザごとにコンパイル方法が異なる。(ベンダー依存)
WebGL
今のところ2世代
- WebGL
- WebGL2
普及率
WebGLはほとんど100%。WebGL2は50%ないくらい。
WebGL出力の注意点
WebGLでは以下のように出力される
C# ⇨ (MONO) ⇨ IL ⇨ (il2cpp) ⇨ C++ ⇨ (Clang) ⇨ LLVM IL ⇨ WASM + JS
- 結構重たい処理はJSに投げた方がスレッドが異なるので楽。
2種類のGCが存在するので注意。プロファイルする際は両方を使う
ファイルシステムはメモリ上に仮想的に作っているので、ファイルが多すぎるとメモリを圧迫することになる。
- IndexedDBもその裏ではメモリ上に展開している。
Webのこれから
- Shared Array Buffer: 共有メモリ(スレッドの実現)
- 音声処理の別スレッド化
- payment
- キャッシュ処理