6

javascript を使用して、HTML5 でリアルタイムのマルチプレイヤー プラットフォーマー ゲームを作成する予定です。Web で約 4 時間検索した後、永遠の質問に対する最新の回答を見つけることができませんでした: DOM でゲームをレンダリングすると、キャンバス内でレンダリングするよりも高速になりますか? ゲームはドキュメント全体になります。2/4 のプレイヤーがマップ上でジャンプし、互いに発砲し、爆弾が爆発します。そう?それは何でしょう。2 年前に DOM を使用して描画アプリケーションを作成したことを覚えていますが、スムーズに動作しましたが、最近ではキャンバスの速度が向上していると思いますか? 君たちありがとう。

PS Dartも使用することを考えています。

4

2 に答える 2

6

私はキャンバスを使用していますが、これは直接描画モードであるため、同じことを行うと言えます。ただし、可能な限り、ハードウェア アクセラレーションを強制するようにする必要があります。<canvas>これを行うには、要素のスタイルをtransform:translateZ(0);(または、それを別のブラウザーで解釈するなど-webkit-transform:translateZ(0);) に設定します。キャンバスがネイティブ コードにますます近づいているため、DOM の操作は遅くなる可能性があります。特に、キャンバスから最大限のパフォーマンスを引き出すための単純な方法ではそうです。

私のゲームはこれにより、さまざまなプラットフォームでかなりうまくいくようです.すべてのプラットフォームで普遍的にうまくいくわけではありません.

于 2013-06-12T19:45:24.250 に答える
2

説明しているゲームの種類にはキャンバスが最適ですが、一部の DOM 要素はキャンバスを使用しても非常に役立ちます。たとえば、プレイヤーの名前を尋ねたり、ゲーム内にメニューやプロフィール セクションを作成したりします。DOM 要素を表示する必要がある場合は、キャンバスの上に絶対位置で div をレンダリングし、キャンバス要素でスプライトの描画やアニメーション化などのすべての「ゲーム」を行うことができます。

Canvas が最良の選択である理由は単純です。canvas 要素なしでこのようなことを行うことはできないか、非常に難しいと確信しています。

http://galloman.github.io/ss2d/samples/skeletons2.html

詳細: http://ss2d.wordpress.com/support/

于 2013-06-13T23:28:15.373 に答える