HTML5

Google I / OカンファレンスでAngry Birds HTML5が喜びの連続で披露されたとき、ゲームに実際にFlashが必要であることに気づいた人はほとんどいませんでした。 問題は、なぜですか? 結局、ゲームはGoogle Web Toolkit(GWT)で記述され、GWT-voicesライブラリを使用してサウンドを処理します。



このようにして、開発者はiOSユーザー向けにゲームをブロックしようと考えた(彼らはApp Storeでお金を払って購入する)。 マイクロソフトの陣営から、Googleは「バギー」および「非標準」Chrome向けにゲームを意図的に最適化したという意味で発言しましたが、IE は<Audio>をより良くサポートし 、まだ承認されていない機能を試していません



実際、その理由はわずかに異なります。主な理由は、HTML5 <Audio>はゲームやプロのオーディオアプリケーションでの使用に適していないことです。



1年前にQuake2をHTML5(GwtQuake)に移植した開発者Ray Cromwellは、HTML5 <Audio>の2つの大きな欠陥を挙げています。



まず、現在の形式では、HTML5機能はブラウザーからオーディオデータへの直接アクセスを許可しないため、その場でサウンドを合成したり、サンプルを受け取って処理したり、追加のエフェクトを適用したり、ステレオで通常に動作することさえできません。



第二に、HTML5はタイミングの必要な制御を提供しませんが、知覚には非常に重要です-人間の耳は数ミリ秒でも音の遅れに反応します。 ここでは、必要なときにそのミリ秒でオーディオを開始することはほとんど不可能です。 実際には、ゲーム開発では、7ミリ秒以下の遅延が正常と見なされます。 ただし、HTML5では、setIntervalまたはsetTimeoutコマンドでのみサウンドを割り当てることができます。これはあまりにも信頼性が低くなります。正確なタイミングは保証されず、最大16ミリ秒の遅延が発生する可能性があります。 別のタブに切り替えると、requestAnimationFrameに似た「requestSoundEvent」関数がないため、ブラウザーのCPUの負荷を減らすためにスクリプトの速度が大幅に低下する可能性があります。



これが、CPUから負荷のかなりの部分を取り除き、許容可能なタイミングを確保するためにWeb Audio APIを楽しみにしている理由です。 そして、私たちはすぐに待ちます。 Google I / Oプレゼンテーションからの関連するスニペットを次に示します。






All Articles