多次替换图像src变慢

时间:2016-06-22 12:34:14

标签: javascript jquery image

我想压力测试并预加载我们的imageserver。我希望看到所有图片......

网址是//media.our.dom/ {id} / size

我设置了400个虚拟缩略图

<?php 
for ($n=0;$n<400;$n++) {
    printf("<img src='//media.our.dom/0/size' id='img_%d'>",$n);
}
?>

然后我加载一张图片,一旦完成,加载下一张图片等等。

$("document").ready(function(){
      loadimg(1000);
})
function loadimg(n) {
i = n % 400;
$("#img_" + i).attr('src', '//media.our.dom/' + n + '/thumb').load(function() {
   if (n < 50000) loadimg(n + 1)
  })
}

所以我有400个图像,每个图像被逐个替换,看起来光标从左到右,从上到下,然后再回到左上角。

它在开始时工作正常,以大约10张图像/秒开始,但速度变慢,1000张图像后需要4秒/图像,一段时间后铬会崩溃。

我看到它可能失败的两个原因:

  1. 替换图像的数据不会被释放。
  2. loadimg()以递归方式调用自身,导致内存泄漏
  3. 所以如果(1),我可以发布数据

    如果(2)我怎么能非递归地做呢?

    我不介意让更多的线程同时加载图像,例如一个线程采用偶数图像,一个奇数,甚至更好的10/20图像同时加载,以压缩图像服务器。

0 个答案:

没有答案