2017-06-06 5 views
0

ディスクからHTMLテーブルに何千ものイメージ(正確には7,480)をロードするノードWebkitアプリケーションを作成しました。約3500枚の画像の後、ローディングは停止する。コンソールでは、ERR_INSUFFICIENT_RESOURCESが表示されます。タスクマネージャによると、私のアプリのメモリ(プライベートワーキングセット)は約1.37 GBになります。これを防ぐ方法を教えてください。この制限を増やす方法はありますか?ヘルプを受けるために追加の詳細情報を提供する必要がありますか?Node-Webkitアプリケーション:ディスクから何千ものイメージをロードする

+0

本当の問題はありますか?任意のユーザーが一度に合理的に取り入れることができるUIのみをロードします。 – OliverJ90

+0

画像は、機械的処理を行っている表面上の異なる点を示します。ユーザーは特定の欠陥を特定するためにそれらのすべてを見ることができる必要があります。画像が表示されているときに画像をロードし、そうでないときに「アンロード」する方法がありますか? –

+0

ああ。はい、道がありますが、どのように実装するかは、これをどのようにまとめているかによって異なります。実際には、ユーザーが「ビューポート」の周りを移動するにつれて、画像のJIT読み込みと追加が必要になります。一度にすべてを読み込むよりもパフォーマンスが優れています。 – OliverJ90

答えて

1

これまで私が似たような問題に直面していたとき、私は画像をメモリに保持し、スクロールしながらDOMに挿入しました。

画像をスクロールしないキューとスクロールした画像のキューを2つ作成しました。この方法では、見える画像のみがページに表示されます。

ダウンロード時間が問題になる場合は、メモリにロードして何が起こるかを確認してください。遭遇した制限は、画像をDOMに配置することであり、 。あなたが一度にすべてをロードする必要がなぜここ

https://developer.mozilla.org/en-US/docs/Web/API/HTMLImageElement/Image

var myImage = new Image(100, 200); 
myImage.src = 'picture.jpg'; 
+0

スクロールして表示する方法を教えてください。これはまさに私が探しているものです。また、私はメモリに画像をロードするためにこの方法を使用する: '関数予圧(){ため \t \t \t \t(; iは

+0

あなたは、DOMに画像を置くことに関して遭遇した限界について正しいです。私はこの怠惰な読み込みプラグインを使用して終了しました:http://appelsiini.net/projects/lazyload/ –

+0

素晴らしい、ページにそれらを置くためのメカニズムは基本的に、前の配列、後の配列、各要素の位置をスクロールし、ページから外にスクロールしてページから削除し、スクロールしようとしているページに新しい要素を配置します –

関連する問題