谁影响了IE页面加载速度
谁影响了IE页面加载速度
詹森韦伯(Jason Weber)微软负责IE浏览器性能的引进部门首席计划经理,公布了IE8在准备页面和渲染时最耗时部分的内部数据。他建议网站对这些部分进行关注。
根据韦伯的说法,IE包含从网络连接开始到渲染的11个子系统:
1.? 网络连接(Networking)–负责与服务器通讯,同时也包括web内容缓存在内的诸多服务。
2.? HTML—负责解析HTML文档和创建DOM。还有其他诸如XML、XHTML、SVG文档解析的子系统。
3.? CSS – 解析CSS样式,并为之后的调用对其建立结构化表示
4.? Collections – 负责存储和访问HTML元数据
5.? Javascipt – 执行脚本
6.? 信号编辑(Marshalling)–浏览器和Javascipt引擎之间的通信层
7.? 本地OM(Native Operation Management)–系统内的Javascipt 引擎通过调用DOM API 操作HTML文档
8.? 格式化(Formatting)–给文档的每一部分分配样式
9.? 创建块(Block Building)–文档中的每一部分都将获得一个方形的块,这些块将在布局之后被渲染。
10.布局(Layout)–负责对所有的块进行布局
11.渲染(Rendering)–负责页面加载的最后一步,将所有的块绘制到屏幕上
微软为了知道在页面加载中到底那一部分占用了最多的时间,使用IE8 对5个主流的新闻网站和另外25个AJAX应用丰富的网站进行了测试。在排除网络连接部分的影响之后,结果显示有部分网站在Javascipt部分耗时严重,而其他的则在信号编辑部分花费了较长的时间。
?
对于新闻站点来说,平均起来IE8耗时最多的部分是 Javascipt—29% 接下来是信号编辑—18%和渲染部分—17%
微软也对25个AJAX应用丰富的网站测评的信息进行了公布,其中包括Facebook, Gmail 和 Hotmail等,结果显示IE8 花费最多时间在页面渲染上—31%,其次是 Javascipt 部分—21% ,格式化 —14% 和 布局—12%。
在去年的11月份,IE团队发布了IE9 的性能测试结果。测试结果显示IE9在加载新页面时绝大部分的时间耗费在Javascipt部分。但对于Excel web应用之类的Ajax 丰富的页面在布局上耗费时间十分可观。
IE preview 版本被认为应该改变了内部子系统的层级结构,虽然没有测评结果,不过韦伯承诺:“随着我们在向 IE9 Beta 版的迈进,我们将会把更多的精力放在如何在IE9中更好的使这些自系统结合来改变包括IE8在内的没有硬件加速浏览器的运行特性[i]。”也许微软会在今年9月15号发布IE9 beta 版时也会发布页面经过不同子系统的分析工具。
[i] IE9 开始使用GUP加速技术(根据作者回复添加)