Files
knowledge-kit/.vscode/1.96.md

1.3 KiB
Raw Blame History

一个提高 App 运算性能的想法

想到了一个场景大概是客户端、H5 网页端、Electron 桌面端都需要大量的 DB 操作、JS 执行大量数据的计算。这些常见的共同特点是计算特别大,耗费 CPU 算力。想到了 H5 网页、Electron 等都会使用 GPU 去渲染,那么这些复杂计算,能不能也利用 GPU 强大的算力去实现。

考虑到某些机器上可能没有 GPU 能力感觉可以做一个封装内部根据当前内存情况、GPU 情况,派发任务到 GPU 还是普通的 JS 单线程的异步任务上,没有 GPU 则直接使用异步任务

由于我们的场景会存在很多的离线能力,所以这个时候很多的计算都需要本地完成,后续的 PC 收银参考客户端,做离线 DB 的操作、营销 JS 计算、很多运算都可以放 GPU

比如,营销 JS 的计算代码目前就在客户端iOS、Android存在H5 JS 也存在,那么 PC 收银桌面端,也可以享用这个能力。

利用 CommonJS 规范Webpack 打包出一个 distJS多个端服用。内部判断当前设备支不支持 GPU支持则在 GPU 上运算,不支持则在 CPU 上异步计算。

前端开源了 [gpu.js](https://github.com/gpujs/gpu.js],同样客户端也可以实现类似的设计。做到一个高性能计算的效果。