diff options
Diffstat (limited to 'files/ja/games/tools')
-rw-r--r-- | files/ja/games/tools/asm.js/index.html | 27 | ||||
-rw-r--r-- | files/ja/games/tools/index.html | 40 |
2 files changed, 67 insertions, 0 deletions
diff --git a/files/ja/games/tools/asm.js/index.html b/files/ja/games/tools/asm.js/index.html new file mode 100644 index 0000000000..1460de4dc7 --- /dev/null +++ b/files/ja/games/tools/asm.js/index.html @@ -0,0 +1,27 @@ +--- +title: asm.js +slug: Games/Tools/asm.js +tags: + - JavaScript + - asm.js +translation_of: Games/Tools/asm.js +--- +<div>{{GamesSidebar}}</div><div>{{IncludeSubnav("/ja/docs/Games")}}</div> + +<div class="summary"> +<p><span class="seoSummary"><a href="http://asmjs.org/">asm.js</a> は 高度に最適化可能な JavaScript のサブセットを規定する仕様です。この文書では、asm.js で可能なこと、利点、利用方法、そして関連する情報と使用例を解説します。</span></p> +</div> + +<h2 id="asm.js_とは">asm.js とは</h2> + +<p>極めて小さく、厳密な JavaScript のサブセットです。while や if、数値型、トップレベルの名前付き関数といくつかの単純な生成物のみ利用可能です。オブジェクト、文字列、クロージャや、ヒープを必要とするものは利用できません。asm.js のコードは多くの点で C のそれと類似していますが、全ての JavaScript エンジンで動作します。JavaScript エンジンの最適化を助ける一方、<a href="https://github.com/kripken/emscripten">Emscripten</a> のようなコンパイラが出力するべきコードを明確に規定しています。asm.js のコードと、それがどのように動作するのか、そしてどのように利用できるかを解説します。</p> + +<p>JavaScript のサブセットは Just-In-Time (JIT) コンパイラを持つ多くのエンジンで高度に最適化されています。しかし、明確な標準を定めることによって、この種のコードの最適化により取り組むことができ、また驚くほどの高速化が可能となります。議論と測定が容易になるため、複数の JS エンジンの間での協力がより簡単になります。この種のコードは全てのエンジンで高速に動作するべきで、そうでないのはバグであるべきです。そのためのエンジンが最適化するべき仕様となっています。</p> + +<p>標準は Web 向けにハイパフォーマンスなコードを出力したいと考えるコンパイラ製作者たちも助けます。asm.js の仕様を参考ににでき、asm.js に忠実であれば高速に動作するということがわかるからです。C/C++ を JavaScript へコンパイルする <a href="https://github.com/kripken/emscripten">Emscripten</a> は asm.js を出力し、そのコードはいくつかのブラウザでネイティブと同等の速度で動作します。</p> + +<p>またエンジンが asm.js のコードを識別べきする場合、さらなる最適化を行えます。現在のところ、それが可能なブラウザは Firefox のみとなっています。</p> + +<h2 id="asm.js_言語のまとめ">asm.js 言語のまとめ</h2> + +<p>asm.js は中間言語です。厳密に型づけされた整数および浮動小数点演算、関数呼び出しとヒープ領域へのアクセスのみが許されるため、パフォーマンスレートの予測が極めて容易です。通常の JavaScript と比べ、そのパフォーマンス特性はネイティブコードに近くなっています。主要なブラウザは既に asm.js をサポートしています。asm.js はブラウザ内で動作するため、ブラウザとハードウェアに大きく依存します。</p> diff --git a/files/ja/games/tools/index.html b/files/ja/games/tools/index.html new file mode 100644 index 0000000000..0ea7706427 --- /dev/null +++ b/files/ja/games/tools/index.html @@ -0,0 +1,40 @@ +--- +title: ゲーム開発のためのツール +slug: Games/Tools +tags: + - Games + - Gecko + - Guide + - JavaScript + - NeedsTranslation + - TopicStub +translation_of: Games/Tools +--- +<div>{{GamesSidebar}}</div><div>{{IncludeSubnav("/ja/docs/Games")}}</div> + +<div class="summary"> +<p><span class="seoSummary">このページにはゲーム開発ツールに関する記事へのリンクがまとまっています。ゆくゆくはフレームワークやコンパイラ、デバッグ用ツールもカバーすることを目指しています。</span></p> +</div> + +<dl> + <dt><a href="/docs/Games/Tools/asm.js">asm.js</a></dt> + <dd>asm.js は極めて限定された JavaScript のサブセットで、ahead-of-time (AOT) コンパイラで最適化されて、通常の JavaScript コードよりも極めて高速に動作します。これはもちろん、ゲーム用に優れています。</dd> + <dt><a href="https://github.com/kripken/emscripten/wiki" title="https://github.com/kripken/emscripten/wiki">Emscripten</a></dt> + <dd> + <p>LLVM から JavaScript へのコンパイラです。これを利用することで、C++ や LLVM バイトコードを出力する言語のコードを、高速に動作する JavaScript へコンパイル可能です。これはアプリをWebに移植する優秀なツールです! <a href="https://github.com/kripken/emscripten/wiki/Tutorial">有用な Emscripten のチュートリアルはこちらです。</a> なお <a href="/docs/Mozilla/Projects/Emscripten">MDN にも Emscripten の記事を執筆中</a>です。</p> + </dd> + <dt><a href="/docs/Mozilla/Performance/Profiling_with_the_Built-in_Profiler" title="https://addons.mozilla.org/en-us/firefox/addon/gecko-profiler/">Gecko プロファイラ</a></dt> + <dd>Gecko プロファイラを利用すると、パフォーマンス上の問題を引き起こしている箇所の特定が容易になります。その結果あなたのゲームは最高速で動作できます。</dd> + <dt><a href="/docs/Games/Tools/Engines_and_tools">ゲームエンジンとツール</a></dt> + <dd>ゲーム開発者にとって有用な、ゲームエンジンとテンプレートのまとめです。</dd> + <dt><a href="/docs/Mozilla/Projects/Shumway">Shumway</a></dt> + <dd>Shumway は Adobe Flash で作成されたものを JavaScript や WebGL などを用いてレンダリングします。これを利用することで Flash とオープンな Web 標準との間の溝を埋められます。この文書では Shumway の利用方法と、バグ修正にコントリビュートする方法について解説します。</dd> + <dt>ゲーム開発とデバッグのためのツールチェーン</dt> + <dd>通常の Web アプリのデバッグとの違いや、ツールについて解説します。多くは<a href="/docs/Tools">開発ツール</a>でカバーされますが、特に有用なツールチェーンのチュートリアルはこちらです: + <ul> + <li>基本的なツールの概要</li> + <li><a href="/docs/Tools/Shader_Editor">シェーダエディタ</a></li> + <li>パフォーマンスツール</li> + </ul> + </dd> +</dl> |