CefSharp (chromium) javascript 增加内存限制

CefSharp (chromium) javascript increase memory limit

我有一个 Web 应用程序,它通过显示大量数据报告来占用大量内存。该应用程序从 ajax 对 php 脚本的调用中获取所需的最少信息,然后处理所有内容并保存在内存中。

一些报告太大以至于浏览器在达到 PC 的内存限制(5GB/8GB 免费)之前就崩溃了...所以我用 C# CefSharp 制作了一个浏览器应用程序,我正在寻找增加内存大小的方法所以它不会崩溃。

我尝试尽可能减少数据并在所有可能的地方使用引用(没有重复值),并且整个报告必须在内存中以便用户可以正确搜索和导航。这些报告的日期范围最多为 3 个月,所以我并不是在向他们提供所有时间的报告。

我看到一些线程告诉我应该通过传递 args 和类似的东西来增加 jsHeapSize,但我不确定如何这样做以及它是否有效。

如何增加 CefSharp 组件的内存限制?

谢谢。

好的伙计们,我已经想出了一个解决方案。

当您将这些参数传递给 chrome 可执行文件以将 javascript 内存限制设置为 16GB 时,chrome 会将其设置为 3.5GB。

--js-flags="--max_old_space_size=16384"

似乎将内存大小设置为超过 3.5 GB 会导致 Chrome 将其设置为 3.5GB,因此不允许更高的限制。

但是,在 CefSharp(嵌入铬)中,此限制不存在。 使用此代码:

CefSettings settings = new CefSettings();
settings.CefCommandLineArgs.Add("--js-flags", "--max_old_space_size=16384");

我可以将CefSharp组件的最大内存限制设置为16gb,它不会再崩溃了。