2016-04-24 2 views
1

私はファインアップローダーを使用してコミュニティサイト用のモックアップファイルアップロードツールを作成しています。Fine Uploaderセッションサムネイルの読み込みが遅い

サムネイルURLとともにサーバーから初期ファイルを取得するようにセッションを設定しました。

すべてが素晴らしいですが、サムネイルのレンダリングは非常に遅いです。 私は理由を考えることができません。そこで、4つのファイルのそれぞれに非常に小さなサムネイルを使用するようにハードコーディングしました。これは何の違いもありませんでした。

サーバー側では問題ありません。情報は非常に迅速に戻ってきています。

何か間違っていますか?なぜfineuploaderはとても遅いのですか?ここではスクリーングラブです。 4つのサムネイルをレンダリングするのに4秒かかります。

fine uploader rendering thumbs

私は、最新のクロムを使用しています。これはかなり強力なマシン上のNancyFXプロジェクトです。それらの上に大きな画像を持つ他のページをレンダリングするのはうんざりです。

クライアント側コード:

thumbnails: { 
       placeholders: { 
        waitingPath: '/Content/js/fine-uploader/placeholders/waiting-generic.png', 
        notAvailablePath: '/Content/js/fine-uploader/placeholders/not_available-generic.png' 
       } 
      }, 
      session: { 
       endpoint: "/getfiles/FlickaId/342" 
      }, 

サーバ側コード:

 // Fine uploader makes session request to get existing files 
     Get["/getfiles/FlickaId/{FlickaId}"] = parameters => 
     { 
      //get the image files from the server 
      var i = FilesDatabase.GetFlickaImagesById(parameters.FlickaId); 

      // list to hold the files 
      var list = new List<UploadedFiles>(); 

      // build the response data object list 
      foreach (var imageFile in i) 
      { 
       var f = new UploadedFiles(); 

       f.name = "test-thumb-small.jpg"; // imageFile.ImageFileName; 
       f.size = 1; 
       f.uuid = imageFile.FileGuid; 
       f.thumbnailUrl = "/Content/images/flickabase/thumbnails/" + "test-thumb-small.jpg"; // imageFile.ImageFileName; 

       list.Add(f); 
      } 

      return Response.AsJson(list); // our model is serialised by Nancy as Json! 

     }; 
+0

ファイルサイズに問題はありますか?私はまだ実際のファイルサイズを返送していません。それは表示のためだけのものでした。 –

答えて

2

これは仕様であり、画像スケーリングロジックととにフラッディングされるのUIスレッドを防ぐために、両方を実装しましたChromeに固有のメモリリークの問題を防止します。これは具体的the "performance considerations" areaに、ドキュメントのサムネイルおよびプレビューセクションで説明されている:クライアントが生成した画像のプレビュー(qq.supportedFeatures.imagePreviews === true)を、鋳型との間の構成可能なポーズをサポートするブラウザのため

生成されたプレビューが有効です。これは、プレビューを生成する複雑なプロセスが、クライアントマシンのCPUを圧倒して長時間かかるのを防ぐためです。この制限がなければ、ブラウザのUIスレッドはブロッキングのリスクを冒し、すべてのプレビューが生成されるまでユーザーの操作(スクロールなど)を防止します。

あなたは調整したり、削除し、この一時停止をthe thumbnails optionを経由して、私はあなたが、ユーザーが複雑な画像ファイルの数が多いを落とさないと確信していない限り、あなたないこれを行う提案することができます。

+0

迅速な応答レイのためにありがとう。面白い。 「初期ファイル」ロードセッションのためだけにこのパラメータを変更する方法はありますか?本質的に起こっているのは、サーバーから戻ってWebページに表示されるイメージファイルのURLのリストのためだけです。私がページに一連のタグを置くjsループを書くなら、結果はラグを持たないでしょう。一時停止は、ユーザーがコントロールにファイルをドロップするときにのみ実際に発生する必要があります。それとも不可能ですか? –

+0

イメージがすべて一様に表示されるようにイメージのサイズが変更されています。だから、単にイメージタグをレンダリングするだけです。 –

+0

よろしくお願いいたします。この場合、自分自身と他のいくつかの人がファイルをアップロードするだけで大​​したことではありません。私は少し時間を減らし、それと共に生きていきます。 –

関連する問題