Leaflet: Firefox 控制台警告:Will-change 内存消耗太高。

创建于 2016-06-29  ·  12评论  ·  资料来源: Leaflet/Leaflet

刚刚在我的地图应用程序中更改为Leaflet 1.0.0-rc1 ,并在 Firefox 47.0 for Ubuntu 16.04 的控制台中收到以下警告。

Will-change memory consumption is too high. Budget limit is the document surface area multiplied by 3 (1535100 px). Occurrences of will-change over the budget will be ignored.

最有用的评论

我不相信这实际上是传单问题。

Leaflet 通过使用will-change CSS 属性向浏览器提示它将对 DOM 进行的修改(转换和不透明度转换)。 不管浏览器如何处理这个提示,我们_将_使用过渡来动画不透明度和瓷砖的变换。

在这种情况下,Firefox 通知我们它认为它对will-change优化会消耗太多内存并忽略它,这很好。

您在升级到 Leaflet 1.0 后看到此问题的原因是在早期版本的 Leaflet 中根本没有使用will-change

我没有使用和不使用will-change提示对 Leaflet 进行概要分析,但我的解释是我们或多或少完全按照此处的描述使用它: https :

我暂时关闭它,因为我不知道 Leaflet 可以对此做些什么,但请随时添加建议,我们会考虑重新打开。

所有12条评论

@radumas ,我们也遇到了这个问题。 这似乎是一个浏览器问题,自从您发布此问题以来,该问题可能已得到修复。 您能否在最新版本的 Firefox (51) 中再次测试并告诉我们它是否仍然发生?

嗨@seadour。 在 Ubuntu 16.04 上转到Firefox 51.0.1 (64-bit)的同一页面,控制台中出现相同的警告。 如果还有什么我可以帮忙的,请告诉我!

感谢您的尝试。 您升级到 Leaflet 1.0.3 了吗? 如果是这样,该页面是否是公共的,我们可以在其中进行测试,或者您可以为我们发布示例作为 plunkr/jsfiddle 吗?

我还没更新! 但我会这样做,如果这有任何改变,我会通知你。 地图也是:point_up:,虽然它不是特别简单。

听起来不错。 我在使用 Firefox 51 for Mac 时在您的页面上遇到了同样的错误。 🙁(顺便说一句,不错的应用程序!)

我不相信这实际上是传单问题。

Leaflet 通过使用will-change CSS 属性向浏览器提示它将对 DOM 进行的修改(转换和不透明度转换)。 不管浏览器如何处理这个提示,我们_将_使用过渡来动画不透明度和瓷砖的变换。

在这种情况下,Firefox 通知我们它认为它对will-change优化会消耗太多内存并忽略它,这很好。

您在升级到 Leaflet 1.0 后看到此问题的原因是在早期版本的 Leaflet 中根本没有使用will-change

我没有使用和不使用will-change提示对 Leaflet 进行概要分析,但我的解释是我们或多或少完全按照此处的描述使用它: https :

我暂时关闭它,因为我不知道 Leaflet 可以对此做些什么,但请随时添加建议,我们会考虑重新打开。

这个“问题”仍然存在于最新版本的 firefox/leaflet 中。

是否可以添加传单选项以完全禁用 will-change 提示?

MDN 建议将该属性用作解决现有性能问题而不是您预期可能发生的问题的最后手段。 并且,在使用它时,建议在元素或属性更改之前切换 will-change,然后在该过程完成后不久再次将其关闭。

@jormun-pluxml 您可以使用 CSS 规则轻松覆盖它。

谢谢,这就是我最终做的:)

@jormun-pluxml 您可以使用 CSS 规则轻松覆盖它。

你能描述一下如何使用will-change CSS 规则来解决这个问题吗,我遇到了类似的问题,其中我的控制台在使用传单显示本地服务器 shapefile 时收到此消息

``
Will-change 内存消耗太高。 预算限制是文档表面积乘以 3(705024 像素)。 将忽略预算上的意志改变的发生

我这样做了:
.leaflet-fade-anim .leaflet-tile,.leaflet-zoom-anim .leaflet-zoom-animated { will-change:auto !important; }

我没有对带有和不带有 will-change 提示的 Leaflet 进行分析,但我的解释是我们或多或少地完全按照此处的描述使用它: https :

它在发布此评论时与此页面匹配,但请注意它现在已

重要提示:will-change 旨在用作最后的手段,以尝试处理现有的性能问题。 它不应该用于预测性能问题。

https://developer.mozilla.org/en-US/docs/Web/CSS/will-change $compare?locale=en-US&to=1392790&from=1342858 编辑中添加的框

此页面是否有帮助?
0 / 5 - 0 等级