解开Firefox3的速度之谜,以及闲扯
Mozilla向来爱护自然,不只是产品线中的各种动物:Firefox、ThunderBird、SeaMonkey、SunBird、SongBird……如果你对Firefox熟悉,你会发现FF的内核被称为Gecko(壁虎),连开发代号都是以公共公园来命名:FF 2.0的代号是”Bon Echo”,FF 3.0为”Gran Paradiso”,把这两个名字加上关键字“公园”之后google一下,你就知道它们的位置了:)
可能是Gran Paradiso实在不方便记,3.0又有一个形象的测试版本号”Minefield”(雷区),开始感觉到火药味了吧:p
和现在的2.0不同,FF 3.0使用新一代的Gecko 1.9引擎渲染网页,而2.0中用的是Gecko 1.8,这0.1的差别究竟在哪里?关键在于Gecko 1.9采用了”Cairo ”(开罗)这一开源的2D图形架构进行页面渲染,简单点说,就是利用了你的显卡进行网页的渲染工作。
听上去似乎有些神奇?其实最早采用这种技术的公司是苹果,利用显卡的GPU和显存进行系统界面的特效渲染,现在让人又爱又恨的Vista特效也正是又一次”借鉴”了老朋友苹果的创意,但这两家似乎都没有试图把牛刀从鸡脖子上挪开。由于现在的显卡已经强大的过分(ATI曾经说自己一块显卡的运算能力可以抵上5块同频的IBM CPU…= =b),以至于在你上网或者处理文本的时候它几乎是不工作的,于是有人便试图利用闲置的显卡来分担一些CPU的工作,多好的提议啊!不过。。。等等。。。这似乎又有些不对了。回顾显卡的诞生,正是由于CPU无力分担大量的图形计算才开发出的辅助性硬件,结果却生出了这么个怪物“孩子”,卖的比母亲还贵,耗电比母亲还大,现在居然又要反过头来给母亲喂奶了?IT世界里果然有奶便是娘- -b
扯远了,扯回来。Cairo便是FF 3.0解决高资源占用的关键。很多之前不可能的事成为了现实。。。比如。。。开着3部电影的同时流畅上网。。。好吧,这只是个比方,我也挺想抽自己的= =#
开罗渲染算是最重要的变更,其余的便是代码的优化,java执行的效率大大提高,但在beta3到beta4的时候官方用了一个小花招:PGO编译。。。是不是要晕了。。。我尽量讲简单点。。。
软件从代码到可以执行的软件包需要一个编译的过程——把所有用到的程序组件有机结合。打个比方,和配药一样,你必须考虑到用户的体质,如果有拳击手一样的体格,显然给他和老头老太用一样剂量是很低效的策略。所谓PGO就是这个原理,各代CPU的“体质”都不同,给足“拳击手型”CPU大剂量便是PGO优化编译。向来作为官方编译发布版的版本,第一点便要求普遍适用,第二点是稳定,否则就会招人骂。但有意思的是FF向来是连386级别的CPU都支持的,现在的单核芯片按照这样的命名都可以称作686了,于是在beta4中加入了sse PGO优化,拳击手瞬间痊愈了,不要给敌人任何的机会!效率是提高了20%多。。。但老头老太们。。。你们要没救了,还是吃旧的2.0配方吧。。。
突然觉得,和当年微软宣布抛弃win98和winme的支持一样,有点伤感。。。386们给我的童年留下了多少美好的记忆。。。我说我怎么就这么扭曲呢- -|||
3.0最后的变化算是书签系统用了Places,其实就是用微型SQLite数据库来储存历史记录、书签等等,由于SQL语句查询具有较高的效率,可以实现很多功能,比如基于类似原理的苹果系统的无等待搜索,现在在FF的地址栏就可以做到。
扯了这么多。。。还是希望有人可以坚持看完。。。谢谢捧场,散会!
谁闲的想转载,请麻烦留trackback或者著名小菊,谢谢><
This entry is filed under network, tech. You can follow any responses to this entry through RSS 2.0. You can leave a response, or trackback from your own site.
不能用网上银行的诶…
干嘛要用自己的名字。。。很傻很天真的
师父你也不弄个留言板~有用自己名字命名的BLOG很炫哦!
推荐你一个 http://www.wangxiaofeng.net/
[...] 前面在狐狸鼓动下换用了FF2,除了因为有类似NoScript之类插件保证我浏览安全之外没觉出有什么好,甚至开页面速度还不如Maxthon。不知道是浏览器本身的问题还是我机器不行,反正少不了抱怨一下FF的名不符实。前两天看到小菊在博客上写了一篇评测,本来我也没想换的,无奈今天FF2突然出了问题,下面的状态栏一下子占了半个屏幕,而我懒得探索,也不知道怎么会成这样,索性升级——这几乎成了我处理此类问题的一贯策略,想当初KIS6不能更新的时候我就是装了KIS7了事,结果导致伟大的卡巴杀手不能用,不得不再花78块钱续费一年…… [...]
我觉得必需的插件除了NoScript就是IE Tab,别的都可有可无,当然我还是比较习惯Drag&Go这种东西的……
很多主流插件都开始支持了,但其实可以装一个开发者插件屏蔽掉版本检查,不过FF3多了一重安全更新检查,都可以通过config:about页来屏蔽
大多数还是好用的,有些会脑抽,比如我以前一直用的标签插件,还有super drag&go有点小问题(已经有人修正了)
我想问问。。。那个。。。FF3好用的插件多么?
一直想用FF3,可是害怕我习惯的几个插件都不能用了怎么办。。
恩 我也爱你。。。
小菊我爱你