【问题标题】:Firebreath vs NPAPI performance overhead?Firebreath vs NPAPI 性能开销?
【发布时间】:2015-09-25 21:50:32
【问题描述】:

我们知道 Chrome 中 Firebreath 2.0 插件的开销很小,因为框架会创建一个精简的 PPAPI 可执行文件来运行插件。

但是,对于 Mozilla 和 Safari,Firebreath 插件与裸 NPAPI 插件相比是否会增加任何开销?

在我们的例子中,我们将 stockfish 国际象棋引擎移植到一个插件中,因此 C++ 代码非常占用 CPU,即使是很小的开销也很重要。

【问题讨论】:

    标签: npapi firebreath


    【解决方案1】:

    FireBreath 2.0 不使用 PPAPI——PPAPI 不是第三方插件的可行解决方案,因为除非与 Native Client 一起使用,否则插件将无法使用,除非每次启动 Chrome 时都使用命令行参数特别启用。

    FireBreath 2.0 使用 Native Messaging 并且插件加载到本地消息主机可执行文件中;因此就运行C++而言没有开销,但是与浏览器通信的接口使用JSON并且是基于字符串的,所以那里绝对会有一些开销。

    基本上,这取决于您关心的问题——如果您需要浏览器和 Firebreath 插件之间的超高速通信,您需要进行一些性能测试,看看它是否足够好。如果您真正需要的只是让 C++ 代码与以前一样快,那么没有问题——它是本机代码,所以它的每一点都一样快。每当您与浏览器通信时,都会产生开销。

    【讨论】:

    • @taxilian 你能给我指点关于 FireBreath 2.0 的更多信息吗?我在 github 上找到了“重构”分支,但是除了 4 月的文档之外还有一些更高级别的文档(这个:firebreath.org/display/documentation/…)。我在网站上可以找到的其他所有内容似乎都在 1.x 左右
    • 目前文档很少;我们需要用户来写它,因为我没有时间。您可以在 irc.freenode.net #firebreath 上的 firebreath-dev google 组和 IRC 房间中找到信息——日志位于 logs.firebreath.org
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-03-22
    • 1970-01-01
    • 2016-12-19
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多