Firefox

“完全硬件加速”的神话

一款“完全硬件加速完整网络平台”的浏览器应付一个简单的HTML滚动测试用例应该没有任何问题,不是吗?在你的机器上的浏览器里试试这个测试用例吧。在我的笔记本电脑上全屏运行时,IE9 RC1用时是火狐4的10倍之多。对我而言,这看起来没怎么加速过。查看源代码,你会看到这个测试用例并不复杂。

当我们在火狐中为GPU加速设计“层”框架时,目标之一就是加速页面的滚动,特别是在页面里有些部分随你的滚动操作而移动,同时其它部分不动——就像那个测试用例一样。我们有一个叫做“框架层构建器”,它可以将要移动的部分和固定的部分分离,将它们指派到独立的“层”里面。(CSS的变化让这个分离变得惊人地困难,不过那是另一篇博客里的主题了……)每个层会得到放入了需要绘制的层内容的显存缓冲。当我们滚动的时候,我们仅需要绘制已经滚动进我们视野的那些内容,然后我们使用GPU在新的位置把层合成起来。

我不能很确定地说IE9也是这么做的,但是在上面那个测试中说明了IE9仅仅是简单地在每次滚动的时候重绘了整个页面。这样不能最佳地利用硬件。

我不是要在这里攻击IE9,我只是说的是它的广告营销。微软的所谓IE9是浏览器里面利用GPU最好的这个消息是无稽之谈。在上述的例子中,通过设计,火狐的渲染架构更好地利用了GPU。微软宣称的硬件加速“完整网络平台”无疑是可笑的,因为“完整网络平台”包含了诸如HTML解析、JavaScript执行以及DOM操作,哪一个都不适合简单的运行在现今的GPU上,IE9也不是这么做的。(我假设微软的“硬件加速”表示“使用GPU”……如果它确实表示“使用硬件”,那就不用说这么多了。:-) )微软鄙视地宣称“「其它浏览器」选择了加速网络平台的一小部分”是虚假的,因为那恰恰是他们自己所做的事。

【原文作者:Robert O’Callahan】

用网页的形式显示附加组件的选项

对于一些我所开发的附加组件,我更喜欢用网页的形式而不是独立的对话框来显示它们的选项设置。可是缺点是,如果你用普通的网页形式显示选项设置,它会打开一个没有滚动条的新窗口,使用起来不太方便。

用新标签页的形式打开选项设置窗口,(完成设置后)关闭它。别忘了设置它为隐藏的,展示形式如下:

<?xml version="1.0"?>
<dialog xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
        hidden="true"
        id="options"
        onload="displayOptionsPage();">
  <script>
  function displayOptionsPage() {
    var gBrowser = Components.classes['@mozilla.org/appshell/window-mediator;1']
                             .getService(Components.interfaces.nsIWindowMediator)
                             .getMostRecentWindow('navigator:browser')
                             .gBrowser;
    gBrowser.selectedTab = gBrowser.addTab("http://example.com/options");
    document.getElementById("options").cancelDialog();
  }
  </script>
</dialog>

你会看到屏幕上快速的一闪,附加组件的配置窗口就打开了,这的确有效。并且这在Firefox 4上也运行得很不错。

希望将来的Firefox 版本能认识到打开附加组件的选项设置窗口如同打开新网址一般,简单到用新标签页打开就行了。

【原文作者:Mike Kaply】

四名员工如何给四亿用户提供技术支持

到目前为止我们已有大约4亿火狐用户,采用传统的方式向用户提供技术支持是不可能实现的。 对我们只有5名员工的技术支持团队来讲更是如此。 但我们依然想让用户满意,唯一可行的方法就是让用户相互协作。去年我们对现状进行了评估,然后用了大半年的时间来设计社区工具,这套工具对我们来说是目前最好的。我想和更多的免费软件社区分享我们的评估和解决方案,因为我们正面临着大部分免费软件项目都会遇到的挑战。 同时我也需要一个醒目的标题,就叫做“四名员工如何给四亿用户提供技术支持”好了。

以上是我在FOSDEM所做的演讲。我没有使用晦涩难懂的幻灯片,而是尝试做了一些改变:我录下了我的讲演并把它制作成一段视频。这段视频虽然在内容上有些方面还略显粗糙,但我真心的希望它能对你们有用。最后,如果你们对SUMO有改进意见,或者对我们的工作有建议,请不吝赐教。 我非常希望能够收到你们的反馈信息。

【原文作者:Kadir Topal】