3

HTML5 canvas非常に大きな画像(おそらく最大10〜15MB)を含むを構築する必要があります。私の最初のアイデアは、画像をいくつかのチャンクに分割し、キャンバスを水平方向に移動するときに読み込まれるようにすることでした。

このアイデアについて何か考えはありますか?いいものですか?たぶん私はすでに実装されているいくつかの最適化機能を見逃していますか?

4

3 に答える 3

2

このようなタイリングは、大きな画像 (Google マップなど) を提供するほとんどのアプリが機能する方法です。

残念ながら、ここで行うべき他の巧妙な最適化はありません。

于 2012-09-25T14:29:48.070 に答える
1

良い考えかもしれませんが、アプリケーションによって異なります。イメージをダウンロードするのに必要な時間は短いと思われますが、多くの場合実際にはそうではありませんが、実際には予測できません。したがって、アプリケーションが静的なもの (Google マップ) であるか動的なもの (ゲーム) であるかによって、遅延読み込みが適切な場合とそうでない場合があります。

ユーザーが待機できる場合は、画像を異なるタイルに安全に分割し、オンデマンドで読み込むことができます。

ゲームの場合は、開始する前にすべてをプリロードすることをお勧めします-少なくとも単一のレベルをプリロードしますが、レベルが含まれているかどうかはわかりません.ゲームであるかどうかさえ知らされていません:)

于 2012-09-25T09:10:31.680 に答える
0

すぐに応答する必要がない場合は、サーバー スクリプトを使用して、必要な大きな画像の一部を取得することもできます。そのため、事前にサイズ設定されたタイルに頼る代わりに、画像を作成して、それはソースです

「imageSliceScript.php?x=何でも&y=何でも」

それをキャンバスに描画するか、単に画像として残します。そうすれば、その時点で必要な画像の一部だけを取得でき、ビューポートが端で複数のタイルにまたがっているなどの問題に対処する必要がなくなります。

于 2012-09-26T20:53:35.557 に答える