灰烬表渲染性能

时间:2015-01-27 19:52:22

标签: ember.js

我正在使用ember 1.9.1并尝试渲染160个项目并且花费大约3秒钟。我使用unbound选项删除了大多数列的绑定。我的模板如下所示:

<table>
  {{#each item in model}}
    <tr>
      <td>{{item.isFlagged}}</td>
      <td>{{item.status}}</td>
      <td>{{unbound item.title}}</td>
      <td>{{unbound item.list}}</td>
      <td>{{unbound item.scope}}</td>
      <td>{{unbound item.org}}</td>
      <td>{{unbound item.approver}}</td>
      <td>{{item.time}}</td>
      <td>{{unbound item.submitted}}</td>
    </tr>
  {{/each}}
</table>

每个项目都是具有相当数量关系的DS.Model,但即使所有数据都已解析并且我在已加载的数据视图之间切换,它仍会在Chrome中花费大约3秒钟。

我尝试过使用Chrome“时间轴”工具,但我不知道自己在做什么。它显示我的点击(切换视图)然后有大量的'Parse HTML'行和11个GC事件影响每个GC约8 MB。所以我肯定做错了什么,但我不知道是什么。

对问题进行排查和追踪的后续步骤是什么?

1 个答案:

答案 0 :(得分:0)

我最终选择了ember-cloaking并从table移到了div的列表中(因为ember-cloaking不支持表格)。有一个fork of ember-cloaking 确实声称支持表格,但在我发布时尚未提供。

这也是在导致我使用上述图书馆的余烬论坛上发布的 - http://discuss.emberjs.com/t/slow-rendering-of-150-item-table/7174