Ext.define.measureAutoDimensions需要时间

时间:2014-06-30 07:43:05

标签: performance extjs grid

我正在使用一个容器,其布局自动包含14个固定宽度的网格,每个网格有~35个固定宽度的列,并且使用我的默认数据集构建视图需要15秒。

这是非常好的,仅仅通过将容器的布局从vbox更改为auto,从21s开始下降,通过设置固定的网格/列宽度,从超过40秒开始。

尽管如此,这太过分了。 Chrome分析器告诉我:

  • 31%的时间花在“get offsetHeight”上,在“Ext.define.measureAutoDimensions”,“Element.override.getHeight”和“Ext.define.calculate”之间进行了分割。
  • 12%用于“Ext.override.getStyle”
  • 9%花在“querySelectorAll”
  • 我们的自定义列渲染器只花费了0.01%。 (LOL)

现在我想了解如何避免这三种性能燃烧器。我认为设置固定的行高有助于提高性能,因为我认为“获取偏移高度”不是必需的......只是我没有找到设置它的位置。

1 个答案:

答案 0 :(得分:0)

如果有人发现和我一样的问题,可能是因为布局连续多次完成。 Ext.suspendLayouts()和Ext.resumeLayouts()可以解决问题。