Firebreath vs NPAPI性能开销?

时间:2015-09-25 21:50:32

标签: npapi firebreath

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

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

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

1 个答案:

答案 0 :(得分:1)

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

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

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