【发布时间】:2012-02-27 08:15:55
【问题描述】:
我目前正在编写一个 AJAX 图片库脚本,它会在灯箱显示之前预加载几张大图片(每张图片至少 120kB,最多 2MB)。我的问题是是顺序加载这些图像(例如,让预加载器一次等待一个图像预加载)还是并行加载图像。我的猜测是,多个 http 连接(并行缓存)将比单个 http 连接更快。但是,我在某处读到,旧版 IE 在并行图像加载方面存在性能问题。还是这样吗?
我正在用 XHTML5 (HTML5 XML) 编写整个项目,并且只针对最常见浏览器(Safari 5+、Chrome 15+、Firefox 8+、IE9+)的当前稳定版本。 AJAX'ing 是通过 jQuery“框架”完成的。
我知道,存在潜在的网络问题,这些问题会极大地影响数据的加载(延迟、带宽、丢包方面的连接质量、isp、代理、服务器等允许的最大并发连接数的组合)。 )。让我们假设普通用户将使用延迟低于 80 毫秒且带宽大于 6 Mbps 的相当不错的连接(dsl、电缆、光纤)。
【问题讨论】:
-
Parallel 会更快,但您可能希望先让第一张图像开始,这样用户就不必等待太久。我听说的唯一 IE 问题是旧 IE 本身会限制并发连接的数量,因此在给定时间实际上只会加载一定数量的图像,而其余的将排队。 即使网络和浏览器可以处理更多。但我可能弄错了。
-
@Flambino:感谢您支持我的直觉^^。我找到了一些关于 IE8 并发连接的信息:weblogs.asp.net/mschwarz/archive/2008/07/21/…
-
另一个关于浏览器并发连接的话题:stackoverflow.com/questions/561046/….
-
很好,我不记得各种 IE 版本的确切限制。我发现this old post 还提到了我忘记的一些事情:如果您可以设置一堆指向同一服务器的域或子域,并在这些主机之间传播您的请求,您将回避限制,因为这只影响并发连接到同一个主机。
-
哦,嘿,你也发现了 :)
标签: javascript ajax performance image preloading