javascript - 如何运行占用大量 CPU 和内存的 HTML/javascript 程序? (Firefox/Chrome 崩溃)

标签 javascript html google-chrome firefox browser

该程序使用大约 4-5GB RAM,导致 Firefox、Chrome 和 Chromium 崩溃(无响应/“aw snap”)。 Opera 或 Safari 似乎都不适用于该程序。

我正在运行力导向迭代算法。代码中没有无限的 while 循环,我已将较大的 for 循环分成小块,因此我可以同时控制更新 DOM 元素。

我可以重写所有用于制作 C++ 或 Java 应用程序的 JavaScript 库,但我不愿意。

还有其他方法来运行这个繁重的 JavaScript 应用程序吗?

最佳答案

I'm using more than a million data points that each have maps of 1-500 data points with vector positions and indices.

对于基本上是 UI 层的东西来说,这确实是太多的数据。执行此操作的正确方法是离线进行计算,然后编写服务器将该数据的区域/切片提供给浏览器。这基本上就是 Google map 的作用。

如果你想坚持使用 js,那么你可能想尝试像 Node.js 这样的东西。否则,请使用您熟悉的任何其他语言。

对于这么多数据,处理它的唯一合乎逻辑的方法是文件。读取文件的输入和输出到您可以重新读取的文件作为计算中更多阶段的输入。您可能还需要考虑使用数据库来抽象文件 I/O,以便您能够专注于数据。

关于javascript - 如何运行占用大量 CPU 和内存的 HTML/javascript 程序? (Firefox/Chrome 崩溃),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23749517/

相关文章:

firefox - 在 Chrome、Firefox 和 Safari 中强制使用标准/怪异模式?

javascript - 我的解决方案连接数组元素有什么问题?

javascript - 为什么 bootstrap 下拉菜单对我不起作用?

css - 相对元素与 Chrome 中的绝对元素重叠

javascript - 没有 href 的 anchor

html - 网格元素宽如太平洋

javascript - 在 Chrome 扩展内容脚本中使用现有的 jQuery?

javascript - 在 Google Charts 中组织图表选项

JavaScript click() 方法仅在 Chrome 扩展程序中有效一次

javascript - 是否可以关闭所需的流注释?