Electron 多进程方案
这周大部分时间都是在开发一个基于Electron的客户端。
Electron内置一个chrome内核,所以可以让我们像开发一个网站一样开发客户端。
在开发过程中,遇到了一个问题,就是我们的项目需要从本地加载AI的模型并进行计算。
看过我介绍浏览器结构那篇文章的应该知道,在当前chrome结构下,网络进程与渲染进程是完全分开的,所以加载模型并不会pend住渲染进程,所以就没有在意。
但是事实证明我的页面还是会存在卡顿。
于是我就用开发者工具的Performance面板录制了一下,结果发现是模型加载完后的识别函数,它是一个Promise,属于微任务,实际上是个协程,而且是个CPU密集型的协程。