2017-03-15 17 views
0

私の現在のプロジェクトでは、javascriptでキャンバスを使った基本的なゲームで、ファイルをダウンロードしました:オーディオファイル。複数の接続を持つファイルをダウンロードすると、ブラウザがクラッシュする

これを達成するために、まず最初にすべてのファイルを連続してダウンロードしました。これは私のブラウザをクラッシュさせた。なぜかわからないけど、それはしました。

それで、私は5:多重接続のグループでファイルをダウンロードすることに決めました。そのうちの1つがダウンロードされると、別のファイルの新しいダウンロードが開始されます。 まず、動作しませんでした。新しいファイルをダウンロードする前に250msのsetTimeoutを追加する必要がありました。

これは機能しますが、ここに私の問題があります。それは時間がかかります。 倍数のダウンロード数を4に設定すると、問題なく動作します。しかし5で、ブラウザが遅くなり、タブがクラッシュすることがあります。 最悪の場合、5つのファイルのグループをダウンロードすると、キャンバスの描画が60fpsから2fpsに遅くなり、アニメーションも遅くなります。

したがって、これらのダウンロードをより速く、遅くするにはどうすればいいですか?

+0

最初に「すべてのファイルを連続してダウンロード」しようとしたことを正確にはどういう意味ですか? ? – KayakinKoder

+0

配列内の各URLについて、私はXMLHttpRequestを送信します。何かを待つことなく、すべての要求が同時に行われました。 –

+0

これらのリクエストをどのように行っているかを表示できますか?あなたのブラウザはクラッシュしてはならない。あれがあれば、バグレポートの掲示板にバグを報告する。 (また、クラッシュするダウンロード部分を効果的にチェックしてください。=>他のすべてのコードを削除し、ダウンロード部分のみを監査してください。 – Kaiido

答えて

0

最後に、私はそれを行う方法を見つけました。 私はAudio()要素を使い、 "canplaythrough"イベントを待っていました。

関連する問題