最小化“强制回流”

sci*_*per 5 javascript highcharts google-chrome-devtools

TD;DR

我花了一些时间跟踪我们的应用程序的性能,它实现了 highcharts。我发现,像 getBBox() 这样的函数确实经常触发“强制回流”。

如果你看看这个列表What force layout/reflow,触发回流的东西很长。

我的问题:

是否有至少一些列出的属性(特别是 offsetWidth/offsetHeight)的替代方案,不会触发回流?

Kay*_*ues 6

你熟悉像避免强制同步布局这样的文档吗?主要思想是在更改元素布局的写入操作之前执行所有读取操作。只要您遵循该原则,使用什么属性就不那么重要了。当然,使用尽可能少工作的属性总是一个好主意。

. 高性能动画是一个很好的资源,可以说明哪些属性是有效的。这与 Derek 提到的分层方法有关。