ITBear旗下自媒体矩阵:

Chrome隐含技术趣味 技术测评大揭迷

   时间:2008-09-11 17:48:25 来源:CCW编译编辑:星辉 发表评论无障碍通道

谷歌新的Chrome浏览器提供了许多新技术。谷歌承认应该做一些事情赶上Web应用程序目前发展的状态。在阅读了Chrome浏览器的说明文件和查看了 这个软件的开源软件代码之后,业内人士Jeff Cogswell提出了他发现的Chrome浏览器中一些有趣的技术方面的概况。

终于实现了多处理!

虽然Chrome浏览器没有完全解决内存尺寸问题,但是,它通过减少碎片来控制这个问题。在传统的浏览器中,浏览器为一个线程分配一套虚拟内存。当然,每一个标签都占用这个总内存集中的一个内存块。随着你打开更多的标签,系统将分配更多的内存。但是,在你关闭标签的时候,内存没有完全恢复,不足以运行未来的标签。你最终将遇到标准的内存碎片问题。

但是,在Chrome浏览器中,每一个标签都有自己的线程。你没有看错,不是每一个Chrome的窗口,而是每一个标签。Cogswell说,我做了20多年的开发工作。我从来没有看到一个窗口能够托管多个线程。但是,Chrome浏览器确实做到了。

Cogswell说,如果我目前的标签上有一个网页,我在地址栏输入一个新的URL地址的时候,与那个网页有关的 chrome.exe命令请求就关闭了,并且开始一个新的chrome.exe命令请求。这样做是很完美的:不用输入命令清除分配给已经关闭的网页的内 存,Chrome浏览器将完全消除整个线程,然后开始一个新的线程。这是Chrome浏览器阻止内存碎片以及保护和隔离每一个网页的又一种方法。

更有趣的是在我装载雅虎网站www.yahoo.com的时候发现了一个奇怪的现象。我看到启动了两个线程。但 是,对于谷歌搜索引擎www.google.com那种比较小的网页,我仅看到了一个流程。当我查看命令行的时候我发现原来输入命令行参数设置了一个插 件。那是一个叫做插件路径的额外的参数,设置是c:\windows\system32\macromed\flash\npswf32.dll

那是Flash播放器。Chrome为嵌入在网页的Flash播放器启动了另一个线程。当我在Chrome浏览器 中保持雅虎网页处于打开状态并且关闭分配给Flash播放器的线程的时候,Chrome在雅虎网页上面显示一个提示并且用一个Flash标识取代了那个 Flash窗口,Flash标识上面有一个失望的面孔。见图1。

可以肯定的是雅虎的网页仍然可以使用。换句话说,一个插件崩溃了不会造成浏览器崩溃。对于一次只喜欢打开少量标签的用户来说,这是很好的。为了保证测试的完整性,测试人员关闭了雅虎网页的线程。这一次,整个网页都变黑了,并且网页上有一个失望的表情和信息。见图2

同时,其它网页仍在运行。实际上,Chrome浏览器有自己的任务管理器。当在Chrome浏览器中的时候,按下Shift+Esc键可以打开这个任务管理器。这个任务管理器甚至能够让你关闭Chrome浏览器中的线程。

渲染引擎

编写浏览器软件最困难的部分是渲染引擎。谷歌在这方面做出了正确的选择。谷歌没有重头开始编写渲染引擎,而是选择成熟的和拥有许多优秀功能的现有的开源软件渲染引擎。谷歌选择的是WebKit。有趣的是WebKit是由苹果开发的。苹果自己开发的这个渲染引擎作为其Safari浏览器的基础,然后开放了这个引擎的源代码。现在,谷歌选择了WebKit。

这就意味着谷歌Chrome浏览器的渲染引擎没有瑕疵和速度问题。这个渲染引擎速度快并且很好用。测试人员还在chrome浏览器中直接打开了一个SVG(可缩放矢量图形)文件,并且运行得很好。这是很有趣的。因为包括微软和Adobe在内的业内各种力量都在排斥SVG,迫使许多人放弃了SVG的开发。很难说谷歌chrome浏览器会对SVG领域有什么影响。另外,许多人说chrome浏览器的SVG不支持动画。这是一个主要缺陷。我们期待着谷歌解决这个问题。

桌面应用程序

谷歌chrome浏览器支持一种形式的“桌面应用程序”。当你在一个网站上的时候,那就是一个Web应用程序。你可以再桌面上存储一个快捷方式以便打开那个网页。

看看这个快捷方式,我可以看到这个启动谷歌的方式,输入一个地址作为一个“应用程序”的参数,像这样:C:\Users\Jeff\AppData\Local\Google\Chrome\Application\chrome.exe

--app=http://mail.google.com/mail

JavaScript引擎: V8

Chrome浏览器支持新的名为V8的JavaScript引擎。V8是一个开源软件项目,是谷歌在丹麦的一个开 发团队开发的。V8能够把JavaScript汇编成本地的代码。这些代码能够在虚拟机上运行。这些虚拟机甚至能够实施优化的垃圾搜集算法和进行多线程的 处理。这远远超出了脚本语言的功能。这是一个全面的运行时间。此外,V8还能够利用名为JSCRE的第三方开源软件库。

为开发人员提供的JavaScript

测试人员称,Chrome浏览器内置了几个很好的工具来帮助Web开发人员。对于入门者来说,Chrome包含了一个全面的JavaScript控制台。见图3

Chrome浏览器还有一个JavaScript调试程序。下面是这个调试程序的截屏图像,见图4

Google Gears插件

Google Gears是用于各种浏览器的一个插件,给网站提供隐私存出空间。例如,在过去,在线字处理程序的最大问题是文件存储在服务器的某个地方。如果你使用笔记本电脑或者乘坐飞机,你在有互联网接入能力之前是不能访问这些文件的。

Google Gears为这种Web应用程序提供了本地存储从能从而解决了这个问题。除了支持本地存储之外,Google Gears还提供帮助Web开发的更多功能,如本地缓存文件等。

结论

Cogswell说,Chrome浏览器给他留下了深刻的印象。谷歌认识到目前Web应用程序的开发已经超过了浏览器的技术水平。需要做一些事情赶上来。竞争的力量将迫使IE和火狐浏览器也这样做。如果是这样,我们将为来的一两年里将从新的浏览器技术进步中受益。

举报 0 收藏 0 打赏 0评论 0
 
 
更多>同类资讯
全站最新
热门内容
网站首页  |  关于我们  |  联系方式  |  版权声明  |  RSS订阅  |  开放转载  |  滚动资讯  |  争议稿件处理  |  English Version