正当浏览器的两大阵营——微软和Mozilla以非妥协的方式缓和着紧张关系,正当你认为这标志着浏览器之战暂时告一段落的时候,Google让这场战争再起波澜。显然,Google最新发布Chrome浏览器是要确保自己的托管应用程序(Gmail、Google Docs等)能有一个坚实基础作保证。
事实上,除了基于Safari开源WebKit标准的核心渲染引擎之外,Google发布的 Chrome浏览器对用户体验几乎都重新进行了考量。比如,在当前版本的Mozilla Firefox和IE中,每个网页标签都被唯一的进程控制,这样做是为了在内存和资源消耗方面保证效率,但容易出现致命错误,单一页面崩溃容易导致整个浏览器崩溃。
Chrome将每个标签页与相应进程相对应,然后利用多任务操作系统内建的内存保护能力,使崩溃标签页面的代码和数据不影响其他进程。这对Google来说意味着它可以保证其托管应用程序被广泛采用,并有力回击浏览器存在安全性隐患的说法。Google希望Chrome提供的程序健壮性可以消除用户的担心。
浏览器很占内存
在Google发布Chrome之前,微软也刚刚发布了其多进程浏览器 Internet Explorer 8 Beta 2。和Chrome一样,IE 8使用多进程且进程之间相互分离的技术,使每个标签页的内容被隔离,从而实现对整个系统的保护。但差别是,Chrome为每个页面都赋予一个与之相对应的进程,而IE 8则使用了混合模型:它创建了多个iexplore.exe进程实例,但没有明确将每个标签页指定给某个独享进程。所以,当我们打开任务管理器查看其中内容时,我们会发现Chrome运行的实例数大于或等于标签页个数,而IE8则产生相对较少的进程,比如,6个iexplore.exe进程支持10个独立标签页,但这需要保证运行时标签页间的共享。
二者的区别还需要实际应用来检验。Google采用的方法证明是健壮的,但要以资源消耗为代价,Chrome和IE 8都提高了对PC硬件的要求。最新趋势是,浏览器可能会比操作系统更加消耗内存。比如在笔者进行的测试当中,IE 8消耗了332MB内存来渲染一个简单的10页/10标签的页面浏览。而Chrome浏览器在启动时就使用了约324MB的内存,这基本相当于IE 8的峰值负载。而且测试还显示,Chrome的内存消耗平均为267MB,比IE 8平均消耗211MB内存的内存占用率更大,我们不得不重新考量对系统最低配置的判断。至少,用户需要采用多核处理器和数GB内存来支持这个更多功能的、以网络为中心的浏览器。
在笔者的测试中,网页载入测试进行了3次,在每次测试前都清空了浏览器缓存。实际结果是,IE 8整体表现很好,9个网页中有6个是载入最快的,只有1个最慢;Chrome表现得中规中矩,1个最快、2个最慢,但在显示速度上占据了上风,尤其当遇到JavaScript执行时,总体表现不错。
老生常谈的辩论
可用性是一场公平的比赛,而这又将演变成在“整套集合”与“更少即更好”的阵营间的老生常谈的辩论。IE 8是一款集成很多功能的浏览器,除了延续微软的ActiveX架构,它还添加了很多新功能:比如Web Slices,它可以将网页分成各个区块,形成多个独立的小窗口;快捷键可以选择上下文菜单、对网页进行字典查询及翻译等功能;InPrivate匿名浏览功能让用户不必再担心网页历史记录泄漏。 微软还将其地址栏更改为可以提供自动完成功能的窗口,并且扩展了专门搜索区,图片和其他媒体文件也作为下拉结果的一部分。
Chrome显然是基于“更少即更好”的思路。浏览器的UI与IE 8相比更为清爽利落,它没有专门的搜索框,取而代之的是自动完成的搜索功能。新标签按网页访问次数的多少给出显示提示,并且允许用户隔离、组合标签页以及实现标签页的滑动效果。Chrome还提供了实用的任务查看工具,它可以很清楚地对比查看整个浏览器和每个网页的内存、处理器、网络占用率,并给出两种查看方式。
总体来说,IE 8和Chrome都扩展了网络应用的的健壮性,但同时也消耗了更多的资源,忽略了相对过时的硬件配置,这也成为云计算需要高系统配置时代到来的预演。Chrome无疑吸引了众多眼球,但这绝不意味着微软在这次竞争中最终就处于下风,微软仍然在总体浏览器占有率上占有优势,至少微软用户对IE 8给出了积极反馈,它迎合了微软用户对功能扩展和增强方面的需求。