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,它不会再崩溃了。
我有一个 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,它不会再崩溃了。