javascript中矩阵乘法的性能不佳是高性能webgl的障碍。所以我正在考虑使用pnacl来加速它。

理想情况下,我想将ArrayBuffer(Float32Array)和矩阵传递给pnacl,然后使用本机代码完成乘法并更新缓冲区中的值,最后通知page(javascript)。

但是我怀疑是否可以为pnacl和页面javascript共享缓冲存储器?
如果没有,我必须将缓冲区传递回客户端,我不确定这种操作对性能的影响。

任何建议将不胜感激!

最佳答案

PPAPI使用共享内存传递ArrayBuffer,因此复制将很少。

https://code.google.com/p/chromium/codesearch#chromium/src/ppapi/proxy/plugin_array_buffer_var.h

但是,PNaCl插件在Chrome中以不同的(插件)过程运行,因此延迟(将消息发送到插件并获得答案的时间)可能会抵消本机代码的任何性能改进。

10-04 20:31