DOM
に<canvas>
タグを1つ使用し、シーケンスを再生するためにすぐにclearRect
とdrawImage
を呼び出すJavascript画像シーケンスオブジェクトがあります。一度に1つのシーケンスだけを読み込む必要がありますが、すべてのシーケンスをキューに入れておくと、より速くスムーズになります。Javascriptでたくさんの画像を読み込んだときにクロムタブがクラッシュする
イメージのサイズはそれぞれ8680x1920、JPGとして約1.5mbとかなり大きいです。私は一度にすべての代わりに個々のセットを個別にロードするボタンを持っています。最初のシーケンスセットはすべて正常に読み込まれますが、Windows 7 BusinessのChrome 51では2番目のエラーがクラッシュします(Aw Snapページ)。
Devは私のMac Proで起きていて、完璧に動作し、3つのシーケンスすべてをうまく読み込めます。私のMac Proの仕様は、PCよりはるかに低いです。 PCは、i7クアッドコア、32GBのRAM、2倍のM5000 Nvidia Quadroカード(Syncカード付き)です。私の理解は、Chromeはこれらの高度なハードウェアのほとんどを利用していないことですが、私たちは他の部分にも必要です。
既存のイメージオブジェクトを空のソースに設定してから次のシーケンスにロードする前にヌルに設定しようとしましたが、DOMから<canvas>
タグを削除しようとしましたが、何も役立たないようです。また、Chromeの[ネットワーク]タブを見ても、1.5GBが転送された直後にクラッシュが発生することがわかりました。 Chromeのタスクマネージャには、WindowsとMacの両方で約8GBのメモリ使用率で1つのシーケンスがロードされたタブがあります。
これは、インターネットから切断されるわかりにくい一度限りのインストールであるため、セキュリティ上の問題やベストプラクティスについては心配していません。
私は最近、パフォーマンス上の理由
なぜシーケンスをビデオに変換せず、「
@ソビエト - 私たちはビデオをスクラブしようとしましたが、フレームごとに移動する必要があったときに非常にパフォーマンスが低下しました。 VLCでもこれを確認しましたが、特定のフレームに移動しようとすると、深刻な遅延が発生しました。 – mitnosirrag
あなたは 'keyframe ever 1 frames'でビデオをエンコードしてみるべきです。ビデオキーフレームは、スナップショットが撮影されたビデオ内のポイントで、追加のフレームは差分として描画されます。キーフレームが離れているビデオをスクラブすると、再生ヘッドの前に最後のキーフレームを見つけて、そのポイントまですべての差分を再描画する必要があります。フレームごとにキーフレームを1に設定すると、各フレームはキーフレームになりますので、シーク/スクラビングはより高速で、より大きなビデオファイルを必要とします。 – Soviut