Internet Explorer 9 Beta: 评价与测试
by
at 2010-12-23 15:18:22
original http://item.feedsky.com/~feedsky/clippit/~7808845/451378419/1226479/1/item.html
译者按:Internet Explorer 9 Beta已经发布多时,今天在网上看到一篇评测文章,感觉写得不错,于是就未经许可拿来翻译了。第一次翻译文章,语句难免生硬,欢迎大家拍砖。
原文:Internet Explorer 9 Beta: Reviewed and Benchmarked
作者:Carl Walker
微软高调地发布了Internet Explorer 9 Beta。他们声称IE9 beta以外的其他浏览器仅仅使用了我们计算机10%的能力,他们展示了利用GPU(Graphic Processing Unit,图形处理器)的优势,浏览网页将会变得更加流畅和快捷。他们还宣传了IE9和Windows 7高度结合带来的许多新功能和更优质的用户体验。
今天,让我们来看看IE9 Beta的新功能到底带来了什么。我们还会将它的跑分结果和Firefox、Chrome、Safari和Opera进行性能上的对比。
下载和安装
系统需求
要运行Internet Explorer 9,你必须使用下面的操作系统:
- Windows Server 2008
- Windows Vista
- Windows 7
正如你所期望的,IE9提供了32位和64位的版本,它们都至少需要512MB的内存来运行。
取决于不同的操作系统,你需要70MB至200MB的硬盘空间。说实话,如果你真的安装了以上三种操作系统,我并不认为这些硬件需求是什么问题。
下载
微软建立了两个独立的网站提供Internet Explorer 9的部署。
你可以任选一个网站来下载IE9,这些站点都针对IE9进行了优化来展示其亮点、新功能和性能的增强。Test Drive(测试驱动)网站提供了一系列的Web应用程序示例,它们都非常适合用来展示IE9的性能。我们将在下文介绍一些示例和评分工具。
安装前准备
如果你已经安装了Internet Explorer 8,那么请注意:如果你要安装64位的IE9,原先的64位IE8将会被卸载。我没有测试过32位的版本但我认为不会有所不同。
据我所知,IE9将会保留所有的书签、收藏夹等设置,但是请注意备份你的数据以防万一。
安装
安装应该很顺利,我使用的电脑配置较新,而且安装了Windows 7。我不能保证其他操作系统下的安装过程是怎样的,但是由于要安装一个Windows更新,我必须重启机器。我之前向几位Windows 7用户进行了确认,他们的安装流程都是和我一样的。
可以想象IE9的正式发布也是通过Windows更新来提供的,希望到时候安装不需要重启电脑。
主要新功能
硬件加速的图形和文本
IE9开发伊始,提升速度便作为一个主要目标。硬件加速将允许网站在浏览器中表现得更加平滑和快速。图形、文本和视频这些元素现在都是通过GPU渲染而非CPU。我们将会在下文的评分中看到它带来的影响。(译注:Firefox 4 beta版和Chrome 7 dev版也开始支持硬件加速的功能)
优雅且更加清楚的用户界面
微软真正精简了浏览器的界面。与Firefox或者IE8相比,你可以看到有多少赘余的内容从整个应用程序中精简掉了。地址栏不再横跨整个顶部,独立的搜索框也消失了,最值得注意的是状态信息栏移到了屏幕底部。
此外,一个非常巧妙、让人感到惊喜的细节是:导航按钮会改变颜色以匹配网站的主题或Favicon(译注:即网站在书签中显示的图标,只有通过任务栏直接打开网站时才会显示)。
固定网站、跳转列表和其他Windows 7集成功能
所有用过Windows 7的人都知道新版的任务栏是多么好用。欣喜的是,IE9也支持这种任务栏,这将使你更方便地访问喜爱的网站。
拖动一个网页的标签,你可以将它拖出浏览器然后固定到任务栏。你不仅可以像打开应用程序那样打开网站,还可以在右键点击后出现的所谓“跳转列表”中同网站直接进行交互。例如,twitter.com的跳转列表支持下列操作:新Tweet、私信、回复、喜爱条目和搜索。从任务栏中就可以进行这些操作,这可以节约许多时间!
缩略图预览控制允许你在任务栏上使用导航菜单或者暂停一个视频。如果你有过使用任务栏控制Windows Media Player的经历你应该可以想象到。我想Youtube和Facebook这样的网站很快会实现这一功能。
新标签页
使用一个显示着书签网页或者最喜爱的网站列表的页面来方便你的导航,是一件很寻常的事情。Safari提供了一个很好的例子,但是IE9更进一步。无论何时你打开一个新标签页,你将会看到一个个你浏览最多的网页的图标和标题摆在一起。而且每个网页还有一个活跃度标尺,它将显示你浏览该网页的活跃程度。如果你对其他浏览器中的类似功能很感兴趣,那么你同样会喜欢IE9中这一新增的功能。
整合输入框
我之前已经提到过,地址栏和搜索栏已经合二为一了。微软很聪明地整合它们到一个输入框内。你可以在一个文本框内输入网址,查询搜索引擎,浏览历史页面或者喜爱网站。你甚至可以打开搜索建议,这将会根据你的搜索关键词实时返回结果。
一开始我有点担心隐私:浏览器是如何知道你正在输入的内容能不能提交给搜索引擎的呢?原来IE9可以让用户控制信息,决定哪些内容不会被发送到搜索引擎。他们想到了一切!(译注:用不着这么激动吧……)
通知栏
为了保持清晰的界面,IE9改变了通知和警告的方式。之前,通知会把网页内容向下压或者给你一个弹出窗口,这阻碍了用户浏览的内容。现在,通知栏显示在浏览器最底部。通过一个清楚和传达性好的设计,你可以确认一次下载任务或者更新浏览器插件。这一切都不会打断你正在浏览的网页。
下载管理器和SmartScreen过滤器
所有的下载任务将可以通过IE9的下载管理器进行管理。如果你对Firefox很熟悉,那么你可以看到许多类似的功能。它们都包含一个默认的下载文件夹,一个单独的“下载”窗口(显示每个文件的名字、大小和位置),而且都可以删除、查看或者清空下载列表。
然而,相似止步于此。IE9集成了一种恶意软件检测功能,叫做SmartScreen。
SmartScreen是“一个开创性的浏览器功能”(a groundbreaking browser feature),它正是为了保护你免受恶意软件下载而开发的。
通过实时的数据,每个下载任务都分配了一个声誉值,这个声誉值是通过总的下载计数和被报告为恶意软件的次数得出的。一个文件获得的警告越严重,那么SmartScreen判断的下载风险就越高。微软声称:“Internet Explorer 9 是唯一一个通过下载文件声誉来帮助用户作出更加安全决定的浏览器。(Internet Explorer 9 is the only browser that uses download reputation to help users make safety decisions.)”我等不及地要看看它的实际效果,但是我不禁担心报告文件的功能会被滥用导致误判。(译注:SmartScreen在IE8中就已经出现,但是我一直认为这是个鸡肋的功能,因为我从未遇到过报警的情况)
崩溃恢复
应用程序崩溃了——这是一个残酷的事实。无论开发者如何努力,浏览器在面对无限JavaScript循环或者网页需要处理超大规模数据的时候总会有撑不住的情况发生。对于我来说,最气人的情况莫过于崩溃时我打开了许多标签页了。
IE9的巧妙做法让这种窘境不再出现。当浏览器崩溃时,IE9将问题的范围局限在一个标签页中,用户可以关闭这个标签页而不会打断其他工作。你不再需要检查历史记录来判断哪一个网页引起了浏览器崩溃。干得好,IE9。(译注:这样的崩溃保护功能在IE8中就已经出现)
兼容性视图
正如之前的一些特性,这个功能也是IE9独有的。(译注:其他浏览器没有这个功能恐怕是因为他们没有一个像IE6一样死缠烂打的前辈吧?)
兼容性视图的工作是分析流行网页并测试它们与IE9的兼容性,如果网页不满足特定条件,在刷新和停止按钮的中间就会显示一个新的按钮。如果你单击这个按钮,“旧文档模式”就会激活。
旧文档模式,顾名思义,它会以Internet Explorer 8的方式显示网页。如果某网页中元素显示不正确,你可以开启兼容性视图,一般这会解决任何问题。此外,IE9会记住你在哪些网页上开启了这种模式,当你下一次浏览这些网页时兼容性视图会自动激活。
亲自试用过后,我还没与发现不同视图之间的差异。
我应当提醒的是,网页的兼容性事实上是由Internet Explorer团队早已决定好的。我不禁纳闷了,判断网页是否兼容就没有特定的标准吗?
加载项性能建议
这个功能最初出现在Internet Explorer 8,这是为了性能的简单进步。如今许多浏览器都提供了第三方插件,它们有搜索引擎优化工具,电子邮件检查器,等等。这个性能建议简单地通知用户如果一个加载项拖慢了浏览器性能你可以选择禁用它。
我使用Firefox作为主浏览器许多年,我也非常提倡使用插件。我真心地希望这个功能可以有效地运作因为我经常因为性能问题去禁用一些插件。
标记语言和标准支持
Internet Explorer 9在开发时就考虑了现代的网页标准。当开发者和客户端都尝试在网站中使用HTML5、SVG和CSS3时,IE9将其注意力集中在对这些标准的广泛支持上。我很欣喜地听闻他们和标准组织例如W3C一起工作花费了许多时间和精力。为了确保他们在浏览器标准的比赛上取得领先地位,他们向标准组织贡献了2000多个测试结果来“帮助标记语言变成现实”。
为了使开发人员更容易地使用IE9和标记语言协同工作,IE9团队将重点放在了5个方面:HTML5,文档对象模型(Document-Object Model,DOM)优化,CSS 3,可缩放矢量图形(Scalable Vector Graphics,SVG),和Chakra——新的JavaScript引擎。
HTML5
如果你还没有见识过HTML5,那么我推荐你去看看IE 测试中心。那里你可以看到许多神奇的Canvas(HTML元素)和评估工具。以我个人来说,我最喜欢新的视频和音频元素,它们可以在几乎所有流行的浏览器中提供更加快捷和方便的多媒体内容。
IE家族中对HTML5的支持始于Internet Explorer 8。IE8并没有支持绝大多数较新的HTML5特性,而和其他现代浏览器相比也往往排名落后。因此IE9采用了另一种办法,即通过Windows和你的GPU来实现硬件加速。结合对新元素的支持和更好的HTML解析效率,IE9已经将HTML5的竞争提升到了一个新的高度。
CSS3
IE8再次为IE9奠定了层叠样式表(Cascading Style Sheets,CSS)的基础。如果你是一个开发者,你应当知道在CSS2.1为核心的IE8上赶鸭子上架地进行CSS3操作是一件多么困难的事情。不幸的是,除了少部分的修复和变通方法,它们中的绝大多数仍是普遍的难题。感谢IE9内建的CSS3支持,它将是第一个支持许多CSS3模块的IE版本。
Web设计中的一个最新趋势是使用在网页中使用@font-face和类似的排版增强技术。IE9带来了对网络开放字体格式(Web Open Font Format,WOFF)的支持,这样我们就可以和TrueType以及OpenType格式一起改变CSS3中font-family的样子了。在Firefox和@font-kits中工作了几个月后,我对于IE9的这项实现感到很兴奋。
IE9现在支持下面的CSS3模块:
- 背景和边框模块
- 颜色模块
- 字体模块
- 媒体引用模块
- 命名空间模块
- 选择器模块
- 值和单位模块
(译注:IE9对CSS3选择器的支持很全面,但是许多CSS3属性并不支持,例如现在已经应用较广的text-shadow和box-shadow属性)
可缩放矢量图形(SVG)
最近我开始使用Adobe Illustrator工作,在接触了Web设计和开发10年以后(以前主要使用Adobe Photoshop)我终于感觉我可以花点时间在Illustrator上看看它能为我提供什么,尤其是将我的作品导出成SVG文件。这是我第一次介绍可缩放矢量图形(Scalable Vector Graphics),而我现在越来越了解它了。
Internet Explorer似乎一直不能够处理SVG文件。IE9是我们第一次看到可彼此协作的SVG元素支持。他们不但遵从了标准,而且还使用了硬件加速,通过GPU来提高渲染的性能。
如果你还没有见识过,我建议你去IE测试中心去看看那些SVG示例。它们比起简单的2D图形已经有了很大进步。
Chakra和改进的DOM
Internet Explorer团队给他们的新JavaScript引擎取名为Chakra。
人们似乎永远无法解释清楚“Chakra”是什么,尤其是在医药和宗教领域(译注:查克拉在动漫领域估计也解释不了)。如果你和我一样只拥有Web设计和开发的背景,不妨到Wikipedia(译注:中文维基百科链接)去了解一下这个复杂的概念,当然这已经跑题很远了。
IE9的Chakra是一套全新的JavaScript引擎。之前版本的Internet Explorer中JavaScript的地位比较边缘,它从未被编译进内核。Chakra改变了现状,如今JavaScript解释器是整个IE9引擎的一部分,和多核CPU一起工作,将会最大程度地利用计算机的硬件资源。这将带来更快的解释,编译和代码执行速度。
新的文档对象模型(Document-Object Model)也带来了许多变化。有赖于一系列的改进,IE9提升了渲染内容的效率。例如,之前版本的Internet Explorer在处理DOM的空白时有问题,而IE9采用了更适合的方法处理它。
浏览器评分和比较
上文谈了这么多硬件加速、现代标准支持和改进的解释效率,你可能会认为IE9是现代浏览器中的圣杯了吧(译注:Holy Grail,想不到什么本土化的代替,大概可以理解为那种难以望其项背的佼佼者)。它当然拥有许多引人注目的特性,不过说实话,作为一个坚定的Firefox拥趸,我倒是想看看IE9花了这么多钱到底都花在哪里了。
当我写这篇文章的时候,IE9 beta发布仅仅过去了24小时。任何一个关于Twitter或者相关论坛的人都早已看到一些IE9和其他浏览器之间简单的对比和评分。我已经看过非常多赞成和反对的意见,看过一些颇有成效的争论,也看过当被问及“你在使用IE9吗?”时某些人对其他浏览器誓死效忠的表态。
我决定亲身检验一番,于是我设置了一个基本的评分环境,安装了五个常见浏览器让它们和IE9一决高低。接下来的部分,你想会看到我进行的测试以及测试的工具,当然还会有竞争中IE9的表现。
测试系统
我使用了一台笔记本电脑和一台台式机来进行测试,但是文章中仅仅采用了其中一组结果。我发现在中等价位的“家庭办公”笔记本电脑和我的台式机上测试硬件加速的结果相差非常大。64位和32位浏览器的测试结果也是如此。
以下是我的台式机的系统配置:
- Windows 7 64-bit
- Intel i7 920 D0 CPU @ Stock 2.67 GHz
- 海盗船 Corsair 6GB DDR3 内存
- ATI Radeon HD 5800 显卡
- ASUS Rampage II 主板
参测浏览器
根据个人的经验,咨询了其他Web设计师和开发者,并参考了来自toptenreviews.com网站的2010年浏览器产品比较(2010 Internet Browser Software Review Product Comparison)中的列表,我决定使用以下浏览器。
- Firefox v 3.6.10
- Opera v 10.62
- Safari v 5.0.1
- Chrome v 6.0.472.59
- IE9 Beta v 9.0.7930.16406
- FireFox 4 Beta 6
我的列表包含了流行的浏览器并且它们中有许多是跨操作系统的。进行跑分操作时,每个浏览器都是刚刚安装完最新版本并且没有任何第三方插件。我认为这很重要。
每个测试都在重新启动系统后在浏览器的最大化窗口中进行。如果你看过IE Test Drive网站,你会发现许多测试案例和漂亮的例子。每个人都有最喜欢的测试案例,我可以理解你也许觉得其他测试更能作为浏览器比较的评分依据。所以如果我遗漏了更适合的测试案例,请原谅我。
评分测试结果
WebKit SunSpider JavaScript 基准测试
版本: 0.9.1
http://www2.webkit.org/perf/sunspider-0.9.1/sunspider.html
SunSpider模拟了真实环境下的JavaScript使用。当请求浏览器执行一些常见的JavaScript函数,例如密码学函数,我们可以计量出浏览器处理的快慢。JavaScript执行越快,引擎越好。
Acid3 测试
Acid3测试实际上是一系列测试的集合,它们分为六个部分。整个测试是用来衡量浏览器对各种Web标准的支持程度的。测试的每个部分都用一个彩色的矩形来表示,测试的百分比得分会在下面显示。如果解析无误,整个测试结果可以很详细地得出。
我列出了每个浏览器的百分比得分。如果你想更深入地了解Acid3,建议你去Wikipedia 页面(译注:中文维基百科页面)。
CSS3选择器测试
http://tools.css3.info/selectors-test/test.html
CSS3选择器测试使用了41种CSS3选择器,一共有574个测试项目。测试结束后,你可以看到浏览器任何有问题或者不支持的选择器。简化起见,我使用了满分为574分的分数作为测试结果。
HTML5 测试
版本: 1.0
这项测试的分数取决于各个浏览器对新的HTML5特性的支持程度。每个特性测试通过都会换算成一定的分数,如果支持像音频和视频内容这样的特殊功能,还会有额外奖励分数。我列出了各个浏览器的得分,满分是300分。(译注:最新的Chrome 7.0.536.2 dev版的得分是241分 )
FishIE Tank(IE水族箱)
http://ie.microsoft.com/testdrive/Performance/FishIE%20tank/Default.html
这是一个很棒的视觉测试,被用来展示IE9的先进之处。使用HTML5中新增的canvas特性,我们可以在网页中看到一个水族箱。网页中有一个FPS指示器,我们还可以随时改变鱼的数量。这项测试非常依赖于硬件加速,电脑配置越高效果就越好。上面的图表显示了当浏览器最大化后有50条、100条和250条鱼的帧数结果,越高越好。
Psychedelic Browsing(魔幻浏览)
http://ie.microsoft.com/testdrive/Performance/PsychedelicBrowsing/Default.html
我首先在Firefox里尝试……不过基本没有任何感觉。只有在使用IE9的时候,我才真正理解了“魔幻浏览”的意义,这再次赤果果地炫耀了IE9的硬件加速能力。正如FishIE Tank测试,结果以画面帧数记录,帧数越高越好。(译注:打开了硬件加速的Chrome 7.0.536.2 dev版也可以较流畅地跑完这项测试,在我机器上得分是1694分)
IE Beatz
http://ie.microsoft.com/testdrive/Graphics/IEBeatz/Default.xhtml
我之所以选择这项测试是因为它是互动的,并且使用了“GPU加速的HTML5图形”,Canvas,SVG,还需要27个音频元素。不过只有两个浏览器成功加载了音频文件,以至于我差点想放弃这项测试。但是我最后还是保留了它因为我觉得这强调了互动性和现代Web标准在面对真实应用环境中可能会产生的问题。此项测试记录了demo加载5分钟的帧数。(译注:在我机器上IE9始终无法加载那27个音频文件,不过打开了硬件加速的Chrome 7.0.536.2 dev版倒是可以正常工作,其FPS在30帧左右)
Canvas 缩放
http://ie.microsoft.com/testdrive/Graphics/DeepZoom/Default.html
我想说的是,这张照片一定是用非常昂贵的照相机拍摄的!如果你没有见过这样的全景照片Canvas测试,建议你马上去一睹为快,因为这实在是太壮观了。
一开始,我在考虑如何精确地处理测试结果。正如其他测试一样我先最大化浏览器窗口,然后单击底部的每一张照片,进行多次的放大和缩小操作。我用同样的方法记录了每个浏览器平均的帧数。这可能不是非常科学,但是我觉得这很符合真实的使用环境。
评分测试结论
纵观上文全部的图表,我们可以清楚地看到两点:
- 在使用HTML5的Canvas时,硬件加速获得了极大的回报。你只需要看看那个魔幻的测试网页就可以知道,IE9玩转你的GPU游刃有余。
- 比起IE8,IE9为了适应现代标准做出了巨大的改进,但是和其他浏览器相比仍有一定差距。
事情变得有趣起来。微软在IE9开发伊始就不断吹嘘其对现代标准的支持。事实上,它们的 Beauty of the Web 和 Test Drive 网站上也提供了许多例子、演示和小游戏。但是IE9在HTML5兼容性测试中却得到了最低的96分,这不仅让我怀疑微软提供的例子究竟有多大的普遍意义。
当然,推广自己公司的产品时适当偏袒也是可以理解的,但是像魔幻浏览和Canvas缩放这样的网页太具有针对性了(其他浏览器在这两个测试中的表现非常非常差劲)。这样的举动不禁会给人们一种错觉,即似乎只有IE9才是真正为HTML5准备的。
在这一方面,我很庆幸选择了第三方独立的基准测试工具,例如那个HTML5兼容性测试网站。如果仅仅看微软的Test Drive演示,你可能会被错误地灌输一种思想,认为最新版本的Internet Explorer涵盖了HTML5和其他现代标准的方方面面。
不幸的是,混淆视听的还不仅仅是这些。在Internet Explorer 9之前发布的五个“平台预览版”(Platform Preview)中,微软仅仅收集了他们自己的测试数据。这些结果可以在IE 测试中心看到。
看看“跨浏览器测试”(Cross-Browser Test Results)表格里HTML5的部分,IE9平台预览版仅有三个测试没有通过,如此通过率比列表中的其他浏览器高出许多。
既然这样,两个测试之间的矛盾之处不言自明。我当然不是在指责任何一方的统计数据,因为你也可以自己在IE9上测试HTML5网站。我只是认为在面对这样的比较结果时需要保持清醒。毕竟,HTML5兼容性网站和IE测试中心测试了HTML5中不同的方面。
优点和缺点
优点
- 清晰的交互界面。
- 单一输入框——地址栏�€