首页 > 解决方案 > 增加电子渲染器进程的内存限制?

问题描述

短的

我正在使用 Vue 构建一个电子应用程序electron-vue。我需要它来完成繁重的工作,比如说f()。但是会抛出内存不足错误并且无法完成。如何增加电子渲染器进程的内存限制?


首先,当我构建一个 CLI 应用程序并运行f()时,即:

// Start of file

function f() {
  // Do some heavy work
}

if (require.main === module) {
  f()
}

// End of file

这需要很长时间,但f()完成没有任何错误。


但是,当我构建一个电子应用程序并f()在渲染器中运行时,它需要很长时间,最后抛出内存不足错误。

我的应用程序具有以下结构:

+----------+                 +------+                 +----------+
| UI       |--work request-->| Main |--work request-->| Worker   |
| renderer |<-work response--| proc |<-work response--| renderer |
+----------+                 +------+                 +----------+

主进程转发请求和响应。(你可能会觉得Worker 渲染器有点奇怪,但我需要把这个结构保留一段时间……)


我的猜测是 CLI 应用程序和电子应用程序的工作渲染器之间的内存限制差异导致了这个问题。

我的猜测是正确的吗?如果是这样,有什么建议可以解决这个问题吗?

标签: electron

解决方案


推荐阅读