阅读:4772回复:16
[转载]Firefox 3.0/4.0技术特点摘要
Firefox 3.0/4.0技术特点摘要
http://publish.pcpro.com.cn/2007/0326/2 ... 0201.shtml Firefox 3.0的开发代号为"Gran Paradiso",按照Mozilla基金会的计划,Firefox 3.0将于2007年第三季度正式推出。与现有的2.0不同,Firefox 3.0采用了全新的Gecko 1.9渲染引擎,这也是Firefox 3.0解决资源占用率高的关键。相比Firefox 2.0所采用的Gecko 1.8引擎,Gecko 1.9在图形架构方面有了根本性的改变。Gecko 1.8采用传统的gfx图形架构 ,它是一种软件方案,由CPU来完成对2D图形图像的渲染;而Gecko 1.9改用"Cairo "图形架构,Cairo可以借助GPU来负责渲染2D图形图像,相当于实现网页渲染的GPU硬件加速,这样,CPU就被完全解放出来。由于现在的GPU普遍都拥有非常强劲的硬件效能,承担网页渲染 任务会非常轻松,因此从理论上说,Gecko 1.9引擎既可以实现更快的渲染速度,又能够大幅度降低CPU资源占用率,实现真正意义上的飞跃。 作为系统应用的基础构件,Cairo提供了一个稳定的用户层API,它可以提供现代化的图形处 理管理能力,例如绘制与填充、映射转换、合成以及改变Alpha半透明效果、高清晰文本显示等等,并且能够在不同的媒介上实现相同的显示输出。这个概念并不难理解,简单点说, 它与OpenGL、DirectX等图形API实际上是类似的东西,只不过OpenGL和DirectX属于3D加速 的API,它们都可以让应用程序直接与图形硬件紧密地协作;而Cario则是针对2D图像绘制的 API,它向更高级的应用程序提供了一系列的图形处理功能,同时又借助OpenGL API实现与 图形硬件的互动(Cario与OpenGL的衔接由Glitz函数库完成)形成,借助GPU的运算能力来 处理2D图像相关的应用。那么,如果我们将Cairo作为应用程序的图形架构,这个应用程序 所涉及到的所有图像处理任务都可以由GPU来完成,在这一方面,专用化的GPU显然要比通用的CPU更具效率。这样,应用程序不仅可以实现更丰富、更复杂的图像效果(如抗锯齿、半透明、阴影、映射转换、变形等等),同时还能在低CPU占用的前提下保证流畅的运行。 除了这些原本就有的后端外,Cairo的后端还包括pdf、svg等,分别可对pdf格式和svg格式 提供原生支持,这将能显著提升pdf文件和svg矢量图形的渲染速度。现有PC还缺乏这样的能力,不论你拥有多么强劲的CPU,在浏览pdf文件或者放大缩小svg矢量图形时都会感觉到显示的停滞感。但如果你的图形系统基于Cairo构建(例如Gnome),并且拥有一块主流性能的 3D显卡,执行pdf、svg相关操作将会变得非常流畅,从而有效提升用户的使用体验。显然, 基于Cairo的Gecko 1.9渲染引擎也可以获得相同的效果,如果你直接在Firefox 3.0浏览器 中打开pdf文档或者svg矢量图形,内容渲染速度将大大快于以往,并实现真正意义上的同步显示。 实现Gecko与Cairo的融合是一项费时费力的工作,开发者并没有试图一下子将Gecko的图形 架构完全转为Cairo,而是以模块化的方式循序渐进地进行。事实上,早在Gecko 1.8/Firefox 1.1版本中,开发者们就着手Cairo的整合工作,如Cairo中的Canvas、SVG矢量 图支持模块已经在Gecko 1.8中实现,而非Cairo的SVG实现方式(例如GDI+)仍得到保留, 另外Gecko 1.8/Firefox 1.1的Windows版本也没有实现SVG功能。另外,GPU硬件加速功能也 没有在Gecko 1.8中实现,依然只能通过软件的方式进行页面内容渲染。基本上,Gecko 1.8只是实现最初级的Cairo整合,图形架构仍然是基于2D的gfx API。除了Firefox 1.1外, 后来的Firefox 1.5和现在的2.0版本也都是采用Gecko 1.8引擎,这三者的差异更多在浏览 器外壳以及对安全功能的增强。 Adobe公司并未考虑通过加大技术力量来解决这一问题,而是采用一个十分英明的办法,将 Flash源代码直接捐赠给Mozilla基金会,这也是Mozilla基金会有史以来收到的最大一次代 码捐赠。Adobe表示未来将把最新的Flash源码直接提供给开源业界,以实现未来浏览器与 Flash播放功能的更佳整合。有鉴于此,Mozilla基金会决定建立一个名为"Tamarin"的新 项目,专门用来管理使用Adobe所贡献的代码,而新项目将由Adobe与Mozilla共同管理监督 ,相关源代码将被下一代"SpiderMonkey(Gecko的JavaScript脚本引擎)"直接整合。 除了贡献Flash源代码外,Adobe还将向Mozilla基金会提供"ActionScript Virtual Machine (简称AVM)"虚拟机软件,该软件是Flash Player播放器中的一部分,它的功能就是负责 对ActionScript代码的解释。ActionScript是Adobe Flash产品平台的脚本解释语言,该语 言可以实现Flash中内容与内容,内容与用户之间的交互,目前它的最新版本为3.0。与广泛 使用的Java Script和微软Jscript一样,ActionScript完全符合ECMA International的 ECMAScript标准。 Firefox的锐意进取将给对手带来前所未见的压力,显卡加速网页浏览即将进入现实,而 Firefox将无可争议成为最快的浏览器。微软将首当其冲面对这些压力,显然微软不会打算 以IE 7.0应战,但IE 8.0似乎还没有将显卡加速渲染功能考虑在内,那么它就很难有效遏制 Firefox 3.0/4.0对市场的进一步蚕食。Opera同样将大受影响,它一向被认为是浏览器家族 中的速度冠军,在Firefox 3.0出现之后Opera很可能将失去光环。同样遭受Firefox 3.0/4.0技术冲击的还有Konqueror,目前KDE项目组正在向KDE 4.0发起冲击,Konqueror也 将升级到4.0版(KDE 4.0计划于07年第四季度推出),但Konqueror 4.0同样来不及增加显 卡加速渲染功能,它的重点更多会放在W3C新标准新技术的支持方面。至于苹果的Safari, 过去它一直采用Konqueror的渲染引擎,现在苹果打算与Konqueror分道扬镳自行发展,缺乏 开源支持的Safari要实现网页3D加速就更加困难。对整个开源来说,Firefox 3.0/4.0标志 着自由软件开始在技术上超越商业软件,而伴随着开源阵营的日益壮大,这样的事情未来将 会越来越多。令人愉快的是,自由软件与商业软件并非迥然对立,两者已经开始进行紧密的 合作─Adobe贡献源码、微软支持XEN莫不是如此。□ |
|
1楼#
发布于:2007-07-25 12:10
非常不错的文章,让大家对cairo引擎有更多的了解了!
|
|
|
2楼#
发布于:2007-07-25 12:10
Good news!!!
|
|
3楼#
发布于:2007-07-25 12:10
好文章啊
GPU加速 PDF原生支持 可能的Flash原生支持 如果真的能按照开发计划完全实现的话,从技术上不说领先一代说拔高一大截是完全可以的了,唯一的期待就是不要跳票^_^ |
|
4楼#
发布于:2007-07-25 12:10
哇塞
看得偶精神振奋啊~好文章哇~ |
|
5楼#
发布于:2007-07-25 12:10
期待中
|
|
|
6楼#
发布于:2007-07-25 12:10
打败opera和康康.....o yeh
|
|
|
7楼#
发布于:2007-07-25 12:10
|
|
8楼#
发布于:2007-07-25 12:10
呵呵,正想看看4.0的特性呢。原来以为3.0会有大的革新,结果又栽赃到4.0去了……
|
|
|
9楼#
发布于:2007-07-25 12:10
期待
|
|
10楼#
发布于:2007-07-25 12:10
跳票没关系
千万要让我们等的值 像暴雪那样 |
|
11楼#
发布于:2007-07-25 12:10
望眼欲穿呐......
|
|
|
12楼#
发布于:2007-07-25 12:10
我刚想来发这新闻 没想到楼主速度还真快~~~~~
|
|
13楼#
发布于:2007-07-25 12:10
Flash源码直接提供给开源业界 是否意味着Flash开源了 |
|
14楼#
发布于:2007-07-25 12:10
|
|
上一页
下一页