Javascript 如何防止Microsoft Edge在内存达到4GB时重新加载我的页面?

Javascript 如何防止Microsoft Edge在内存达到4GB时重新加载我的页面?,javascript,performance,memory,memory-management,microsoft-edge,Javascript,Performance,Memory,Memory Management,Microsoft Edge,我正在进行重构,将+70000条飞行轨迹和大约3500000个记录位置加载到一张地图中,并进行实时的2D到3D切换 可以想象,这会消耗大量内存。事实上,我目前在Chrome中的内存消耗达到了4,25GB的峰值: 不幸的是,Edge中的内存消耗更糟糕!在加载数据后,Edge甚至不会低于3.2GB,而且在Chrome中,它似乎平均要多消耗1GB的内存 更糟糕的是,Edge无法为一页处理4GB内存。一旦我的内存消耗达到4GB标记,它就会停止进程并开始重新加载页面: 有谁能帮我想出一种方法来克服Ed

我正在进行重构,将+70000条飞行轨迹和大约3500000个记录位置加载到一张地图中,并进行实时的2D到3D切换

可以想象,这会消耗大量内存。事实上,我目前在Chrome中的内存消耗达到了4,25GB的峰值:

不幸的是,Edge中的内存消耗更糟糕!在加载数据后,Edge甚至不会低于3.2GB,而且在Chrome中,它似乎平均要多消耗1GB的内存

更糟糕的是,Edge无法为一页处理4GB内存。一旦我的内存消耗达到4GB标记,它就会停止进程并开始重新加载页面:

有谁能帮我想出一种方法来克服Edge中的这个问题,而不减少加载到浏览器中的数据量


例如,是否有办法更改Edge的内存限制,使其能够处理4GB及以上的页面?或者您建议我如何防止我的页面使用的内存达到4GB?我在IE和Silverlight中遇到了类似的问题,应用程序正在渲染地图、带有动画的线条等。当内存超过1.5gb时,IE无法渲染/加载/动画。无论IE或Windows的版本是什么,问题都无法解决,因此相关的错误被标记为COTS问题。我不知道是否有确切的内存限制(没有相关的文档),但我知道你不能调整IE的内存限制。因此,你应该在你的应用程序代码逻辑中处理这个问题。您应该弄清楚问题发生在什么情况下,因为问题可能不是确切的内存大小。即使您处理4Gb限制的问题,该问题也可能仍然存在。顺便说一句,您提交的问题既不支持IE也不支持Edge,这可能是由于上述问题。

请不要用额外的“我的问题有解决方案吗?”来污染一个本来不错的问题,因为我不知道IE,我很难测试它。这个限制本身是否仅限于主线程?如果不是,工作人员是否担心此限制/这是否是分割数据的一种方式。顺便问一下,你真的没有办法只加载数据块吗?你真的需要所有可用的数据吗?难道不能在这些数据中创建一些不同级别的精度吗?只是澄清一下,您希望能够在Edge中运行演示,以便创建测试,然后修复问题?如果无法在其内部运行Edge,那么您确定Edge首先由原始产品支持吗?还有,为什么不在Chrome上开发,然后在Edge内部测试重构后的版本呢?@Kaido:我不知道限制是否仅限于主线程。我找不到任何关于这方面的文件。不,我不能选择只加载数据块,否则无法顺利运行。此外,数据与当前版本的产品一样轻量级!我们已经创建了自己的自定义二进制格式,以使通过HTTP传输的实际数据尽可能小。。。这仍然是一个惊人的95MB@Groo:目前的计划是加载一个简化的数据集,使我能够更轻松地诊断问题(尝试创建一个完整数据集的内存快照会使我尝试使用的任何浏览器崩溃),并找出是否有可能在不影响应用程序行为的情况下减少内存消耗。在Chrome上开发是我迄今为止所做的,直到我在Edge上测试了结果。。。这正好是我们应该支持的浏览器!我正在重构的版本在Edge 38中运行良好,在我运行Windows 10的ZBook笔记本电脑上。然而,它的内存消耗要低得多,因为它基于一个采用了一些快捷方式的原型。我们希望它的演示被移植到我们的产品的最新版本,但高内存消耗是有问题的,不仅是边缘,而且移动浏览器。。。我们应该支持的浏览器。这就是我的问题。