IE"样式计算" AngularJS应用程序

时间:2016-04-06 07:54:21

标签: css angularjs performance internet-explorer

我有一个使用Angular Material的AngularJS应用程序和从外部API加载的数据。

这个应用程序没什么特别突破性的,我的所有测试在Chrome,Firefox和Safari中都运行得非常好。

然而,当我使用Internet Explorer时,所有的地狱都破裂了。该应用程序非常慢,CSS动画非常迟钝,应用程序完全无法使用。

我花了一天时间尝试了一些潜在的错误修正和调试,但我现在要胜过王牌。

我能看到的东西:

  • 当我使用IE11的开发者工具并运行性能日志时,"样式计算"到目前为止,占用了大部分时间。
  • 当我有通配符CSS选择器时,性能较慢(如*{box-sizing: border-box}

这是来自绩效检查员的输出,当我所做的全部是向下滚动md-virtual-repeat时:

IE Performance: Style Calculation

正如您所看到的,style calculation占用了大量时间。

谷歌搜索已经取得了成功的解决方案。这里发生了什么?这是一个红色的鲱鱼,问题出在我的应用程序的其他地方(我的JS就像我想到的那样高效,而且我还测试了加载没有真正的数据,只有30个静态对象进入虚拟转发器 - 结果是一样的。)

2 个答案:

答案 0 :(得分:2)

“滚动并将CPU加载到100%(IE11,Win10)”时,“样式计算”的问题大约需要700毫秒

在我的特定情况下,它是由包含“+”选择器的CSS规则引起的,例如

.menu li + li a {border: 0}

删除后 - 工作正常。

希望能节省几个小时。

答案 1 :(得分:1)

@ngDeveloper在评论中指出的解决方案是升级ngMaterial。我遇到了这个问题,而且导致问题的是positionElements。