performance - Knockoutjs 在 Internet Explorer 中运行速度极慢

标签 performance internet-explorer knockout.js

简介 :我有一个带有 KO 代码的页面,在 Google Chrome、Firefox、Safari 等中运行非常酷。但在 Internet Explorer 中性能消失了。我试过IE10,IE11。渲染大约 150 行需要 10 到 25 秒。
enter image description here

详情 :该页面代表用户的工作队列,其中显示了他们的任务。要求是不要在该页面上使用任何分页。表格的每一行至少有十几个变体要显示(链接、按钮、输入、css 样式、处理用户事件、自定义 js 插件等)。 prod 上的平均行数为 100-200+。用户可以应用不同的过滤器和排序。

我已经尝试过的东西 :

  • 减少了计算属性的数量(尽可能改为 pureComputed)
  • 减少了使用模板的次数,if 和 ifnot 绑定(bind)(根据分析器,它们是最耗时的任务) - 我尽可能使用可见
  • 尝试使用 knockout-fast-foreach 自定义绑定(bind) (https://github.com/brianmhunt/knockout-fast-foreach)
  • 使用 IE 和 Chrome 工具分析代码以消除内存泄漏
  • 使用 ko.bindingReport.js ( https://gist.github.com/kamranayub/65399fa247a6c182bc65 )
  • 分析代码

    上面指定的方法在 Chrome 中调整了代码(根据 ko.bindingReport.js )几乎快了两倍。但是 IE 还是太慢了——渲染大约需要 10 秒。

    Chrome :
    Chrome status

    Internet Explorer:

    IE status

    各位,有什么想法吗?

    最佳答案

    “表绑定(bind)提供了一种使用 Knockout 显示数据表的快速方法。表比嵌套的 foreach 绑定(bind)快大约十倍。”

    这声称要快 10 倍。
    https://github.com/mbest/knockout-table

    关于performance - Knockoutjs 在 Internet Explorer 中运行速度极慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40603627/

    相关文章:

    css - IE 8 PNG正文背景问题

    javascript - knockout.js 可见绑定(bind)到表格单元格内容不起作用

    javascript - 根据属性值从多维 Javascript 数组中删除项目

    .net - ASP.NET:监控应用程序性能

    java - 迭代引用对象列表

    python - 大 numpy 矩阵的 PIL 逊相关性

    css - SVG 作为 IE 中的背景图像并带有缩放功能

    java - 除了使用运算符 '/' 之外,还有其他快速方法可以将 long 除以 1000000 吗?

    IE 8 中的 Javascript 错误 - 网站无法加载

    javascript - knockout js - 单击 foreach 语句下的列表时如何更改列表颜色?