xoferiF
热心会员
热心会员
  • UID6559
  • 注册日期2005-06-05
  • 最后登录2020-04-24
  • 发帖数418
  • 经验24枚
  • 威望0点
  • 贡献值4点
  • 好评度1点
  • 社区居民
  • 忠实会员
阅读:4467回复:16

[转载]Firefox 3.0/4.0技术特点摘要

楼主#
更多 发布于:2007-07-25 12:10
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莫不是如此。□
fang5566
管理员
管理员
  • UID3719
  • 注册日期2005-03-07
  • 最后登录2024-04-29
  • 发帖数18483
  • 经验4837枚
  • 威望5点
  • 贡献值4316点
  • 好评度1116点
  • 社区居民
  • 最爱沙发
  • 忠实会员
  • 终身成就
1楼#
发布于:2007-07-25 12:10
非常不错的文章,让大家对cairo引擎有更多的了解了!
Firefox More than meets your experience
szBobby
狐狸大王
狐狸大王
  • UID1562
  • 注册日期2004-12-30
  • 最后登录2010-11-15
  • 发帖数343
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
2楼#
发布于:2007-07-25 12:10
Good news!!!
web123lai
千年狐狸
千年狐狸
  • UID8036
  • 注册日期2005-08-17
  • 最后登录2019-05-01
  • 发帖数4225
  • 经验13枚
  • 威望1点
  • 贡献值20点
  • 好评度10点
  • 社区居民
3楼#
发布于:2007-07-25 12:10
好文章啊

GPU加速
PDF原生支持
可能的Flash原生支持

如果真的能按照开发计划完全实现的话,从技术上不说领先一代说拔高一大截是完全可以的了,唯一的期待就是不要跳票^_^
msky
千年狐狸
千年狐狸
  • UID14649
  • 注册日期2006-09-21
  • 最后登录2023-04-03
  • 发帖数2959
  • 经验166枚
  • 威望0点
  • 贡献值12点
  • 好评度9点
  • 社区居民
4楼#
发布于:2007-07-25 12:10
哇塞

看得偶精神振奋啊~好文章哇~
zhj1028
火狐狸
火狐狸
  • UID3423
  • 注册日期2005-02-28
  • 最后登录2015-12-29
  • 发帖数253
  • 经验14枚
  • 威望0点
  • 贡献值4点
  • 好评度0点
  • 社区居民
5楼#
发布于:2007-07-25 12:10
期待中


泡泡鱼屋生活馆  http://shop34376272.taobao.com/
smoke
千年狐狸
千年狐狸
  • UID3052
  • 注册日期2005-02-16
  • 最后登录2015-02-01
  • 发帖数2367
  • 经验12枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 社区居民
  • 忠实会员
6楼#
发布于:2007-07-25 12:10
打败opera和康康.....o yeh
遇到问题请善用论坛搜索功能
Mark Poleon
火狐狸
火狐狸
  • UID9021
  • 注册日期2005-10-02
  • 最后登录2007-10-29
  • 发帖数139
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
7楼#
发布于:2007-07-25 12:10
smoke:打败opera和康康.....o yeh回到原帖

到处都充满了硝烟....

kmc
kmc
管理员
管理员
  • UID165
  • 注册日期2004-11-25
  • 最后登录2022-09-22
  • 发帖数9186
  • 经验397枚
  • 威望1点
  • 贡献值124点
  • 好评度41点
  • 忠实会员
  • 终身成就
  • 社区居民
8楼#
发布于:2007-07-25 12:10
呵呵,正想看看4.0的特性呢。原来以为3.0会有大的革新,结果又栽赃到4.0去了……
Waterfox Current和Firefox Nightly都用,逐渐走出XUL扩展依赖
pho
pho
千年狐狸
千年狐狸
  • UID4300
  • 注册日期2005-03-22
  • 最后登录2016-12-14
  • 发帖数2597
  • 经验40枚
  • 威望0点
  • 贡献值16点
  • 好评度2点
  • 社区居民
  • 忠实会员
9楼#
发布于:2007-07-25 12:10
期待
hao123liu
小狐狸
小狐狸
  • UID8097
  • 注册日期2005-08-20
  • 最后登录2009-01-18
  • 发帖数79
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
10楼#
发布于:2007-07-25 12:10
跳票没关系
千万要让我们等的值
像暴雪那样
hnstxx
千年狐狸
千年狐狸
  • UID1952
  • 注册日期2005-01-09
  • 最后登录2013-05-14
  • 发帖数4977
  • 经验10枚
  • 威望0点
  • 贡献值0点
  • 好评度0点
11楼#
发布于:2007-07-25 12:10
望眼欲穿呐......
MM:你是个外表冷酷,内心却很甜蜜的男人。
舞间道
千年狐狸
千年狐狸
  • UID41
  • 注册日期2004-11-22
  • 最后登录2022-12-14
  • 发帖数1839
  • 经验-150枚
  • 威望0点
  • 贡献值-352点
  • 好评度-180点
  • 社区居民
12楼#
发布于:2007-07-25 12:10
我刚想来发这新闻 没想到楼主速度还真快~~~~~
Skype  支持  Linux  |  MacOS  |  Windows  |  Pocket  PC
zeroieme
千年狐狸
千年狐狸
  • UID12805
  • 注册日期2006-05-17
  • 最后登录2015-10-11
  • 发帖数1407
  • 经验34枚
  • 威望0点
  • 贡献值20点
  • 好评度0点
  • 社区居民
13楼#
发布于:2007-07-25 12:10
Flash源码直接提供给开源业界

是否意味着Flash开源了
eagle5678
千年狐狸
千年狐狸
  • UID4956
  • 注册日期2005-04-10
  • 最后登录2023-04-02
  • 发帖数1247
  • 经验204枚
  • 威望0点
  • 贡献值120点
  • 好评度3点
14楼#
发布于:2007-07-25 12:10
web123lai:好文章啊

GPU加速
PDF原生支持
可能的Flash原生支持

回到原帖
那时打开PDF会不会挂掉, ')
上一页
游客

返回顶部