Recommended
PPT
PDF
PPTX
mcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージ
PPTX
PDF
PDF
PPTX
PDF
UIElements+UI BuilderでEditor拡張を作ろう
PDF
xOps: エンジニアがスタートアップの成長の原動力となる日
PDF
PDF
Tensor flow usergroup 2016 (公開版)
PDF
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
PDF
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
PDF
PDF
PPTX
(2017.6.9) Neo4jの可視化ライブラリまとめ
PDF
PDF
PDF
PPTX
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
PDF
PDF
Y Combinator & スタンフォード大学「スタートアップの始め方 (CS183B)」受講ガイド - Summary of How to Start...
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PDF
PDF
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
More Related Content
PPT
PDF
PPTX
mcl_3dl: amcl並に軽量な3-D/6-DoFローカリゼーションパッケージ
PPTX
PDF
PDF
PPTX
PDF
UIElements+UI BuilderでEditor拡張を作ろう
What's hot
PDF
xOps: エンジニアがスタートアップの成長の原動力となる日
PDF
PDF
Tensor flow usergroup 2016 (公開版)
PDF
Node.js Native ESM への道 〜最終章: Babel / TypeScript Modules との闘い〜
PDF
【関東GPGPU勉強会#2】OpenCVのOpenCL実装oclMat
PDF
PDF
PPTX
(2017.6.9) Neo4jの可視化ライブラリまとめ
PDF
PDF
PDF
PPTX
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
PDF
PDF
Y Combinator & スタンフォード大学「スタートアップの始め方 (CS183B)」受講ガイド - Summary of How to Start...
PPTX
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PDF
PDF
ゲームの仕様書を書こう4 仕様書作成で楽をするconfluenceの活用
PDF
ネットワーク ゲームにおけるTCPとUDPの使い分け
PPTX
SPAセキュリティ入門~PHP Conference Japan 2021
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
Web ベースのカジュアルゲーム「block pong」の実装とビジネス 1. 2. 本日のハッシュタグ→ #jsconfjp_a
自己紹介
紀平 拓男(きひら たくお)
スマートニュース株式会社
● 20 年くらい JavaScript の世界で働いています
● サンフランシスコでの起業を含め 3 社の起業を
経験しています
● 最近はネイティブアプリ内に組み込む Web の開
発に興味を持っています
Twitter: @tkihira
質問等お気軽にメンションしてください
3. 4. 5. 6. 7. 8. 9. 10. 11. 本日のハッシュタグ→ #jsconfjp_a
JavaScript の浮動小数点数の演算関連
● IEEE 754 準拠でないプラットフォーム可能性
○ https://www.ecma-international.org/ecma-262/11.0/index.html#sec-numeric-types-number-add
○ “the sum is computed and rounded to the nearest representable value”
● Math.sin 等のビルトイン関数の差
○ https://www.ecma-international.org/ecma-262/11.0/index.html#sec-math.sin
○ “Returns an implementation-dependent approximation to the sine of x.”
Java では strictfp というキーワードで IEEE 754 準拠を強制出来る
SSE2 で浮動小数点の計算は IEEE 754 準拠をほぼ前提にしてよくなった
それでも IEEE 754 周りによる差は起こりうる。今の所、そのバグ報告はない
12. 13. 本日のハッシュタグ→ #jsconfjp_a
WebAssembly を使って Math ライブラリを自前実
装
● Chromium のソースコードの Math ライブラリ実装を確認
○ https://chromium.googlesource.com/v8/v8/+/3.28.71.4/third_party/fdlibm/fdlibm.cc
● fdlibm を利用
○ Free Distribution libm http://www.netlib.org/fdlibm/
○ github にクローン: https://github.com/tkihira/fdlibm
○ 実装は C 言語
● wasm に移植
○ wasm版: https://github.com/tkihira/fdlibm-wasm
純粋な計算ロジックであるため、コード量は極めて小さい
14. 15. 16. 本日のハッシュタグ→ #jsconfjp_a
WebAssembly と JavaScript の速度差
画像処理などの処理で JavaScript と wasm の速度を比較している
https://takahirox.github.io/WebAssembly-benchmark/
※ SIMD の導入で結果は大きく変わる
JavaScript はそもそも、ものすごく速い
https://benchmarksgame-team.pages.debian.net/benchmarksgame/box-plot-
summary-charts.html
17. 本日のハッシュタグ→ #jsconfjp_a
WebAssembly のメリット
● JavaScript と同等の速度を、何も考えずに出せる
● メモリ消費量が圧倒的に少ない
● ガベージコレクションを自前でコントロール出来る
● 過去の資産を流用出来る
○ Microsoft のオンライン動画編集ツール「Clipchamp」は ffmpeg を利用
○ 私が来年頭に公開する Web 版画像合成ツールも LibRaw を利用してブラウザ内部で処理
● 今後速くなっていくかもしれない
18. 19. 本日のハッシュタグ→ #jsconfjp_a
WebAssembly / Web ゲームの課題
● エコサイクルが全く成立していない
○ お金を産むシステムがない
○ お金を産まないので、参入者が少ない
○ 参入者が少ないので、開発ツールも育たない
○ 開発ツールがないので、ゲームも作られない
○ ゲームが作られないので、ユーザーも少ない
○ ユーザーがいないので、お金を産まない
20. 本日のハッシュタグ→ #jsconfjp_a
Web ゲームの希望
● アプリゲームは参加料の高い博打の世界になりつつある
● Web は爆発的に普及する可能性を秘めている
● 岩田氏「もし、小規模なチームで短い期間で作ったものが世の中にものすごく広がる可能性があれば、それは一番夢が感じら
れ、多くの開発者の方がいろんなアイデアを競う場になるわけで、プラットフォームとしては一番健全な状況である」
○ https://www.nintendo.co.jp/ir/stock/meeting/130627qa/03.html
○ ちょうどここ数日だと「ぷよりんご」
● エコシステムの拡充が今後の課題
○ Next2D https://next2d.app/ など、プロダクションに耐えうるツールも登場しつつある
● KPI などはまた別の機会に話します
21.