【问题标题】:Improve Angular Material performance in IE11提高 IE11 中的 Angular Material 性能
【发布时间】:2019-03-26 10:55:12
【问题描述】:

我正在使用 Angular Material 来可视化来自 SQL Server 数据库的数据。 mat 表是根据我返回的列和条目数动态创建的。可以有 40、50+ 列和 100k+ 条目。

我选择了仅显示少数列,并通过显示更多按钮显示所有列。分页器默认将行数限制为 100,但最多可以显示 2.000。

虽然它在 Firefox 和 Chrome 上运行相当流畅,但一次排序 100k+ 行或一次渲染 1.000 或 2.000 行可能需要一些时间,但在 IE11 上的性能相当糟糕。即使只是显示标准的 100 个条目和少数行也需要一些时间,切换到所有列和/或更多行会非常缓慢,而且 IE 会完全冻结。

我做了一个简单的演示来展示它是如何工作的。 mat-table 和我用的一样。

你知道提高 IE11 性能的方法吗?

DEMO

【问题讨论】:

  • 您的意思是提高处理 100k+ 行的性能吗?如果是这样,IE 不是您唯一关心的问题。
  • 要求是所有过滤和排序都在客户端完成?
  • 整体性能和 100k+ 或更多行的性能。你说的不是唯一的问题是什么意思?一切都应该在客户端完成。
  • Internet Explorer 已经死了,它永远不会变得更快,而且 100K 行无论如何都是要在客户端操作的大量数据。
  • 为什么一切都必须在客户端完成?

标签: angular angular-material internet-explorer-11


【解决方案1】:

这不是库本身的性能问题,而是浏览器的问题。请查看以下链接,这是对浏览器中 CSS3 布局结构的性能测试。

在 Chrome 中运行链接,然后在 IE11 中使用相同的设置运行它,然后 你很快就会看到 IE11 的局限性。

https://testdrive-archive.azurewebsites.net/Performance/MazeSolver/

这就是在 Chromium 上重建 Edge 的原因

https://www.wired.com/story/microsoft-edge-browser-chromium-internet-explorer/

除此之外,您还需要探索服务器端分页,并控制通过网络传输的数据子集大小,以便在处理此类数据时获得进一步的性能。

【讨论】:

    【解决方案2】:

    检查具有虚拟滚动模块的角度 cdk: https://material.angular.io/cdk/scrolling/overview

    在演示中,他们实际上渲染了一个包含 100,000 个项目的列表,并且在 IE11 中很流畅。我不确定如果它是一个像你的情况那样有几列的表格,它是否会保持这种状态。但你至少可以试一试。

    【讨论】:

      猜你喜欢
      • 2016-08-02
      • 1970-01-01
      • 1970-01-01
      • 2018-12-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多