我有一个AngularJS应用程序使用Angular Material和从外部API加载的数据。在AngularJS应用程序中,IE“风格计算”性能极其缓慢
这个应用程序没有什么特别突破性的东西,我的所有测试在Chrome,Firefox和Safari上都运行得非常好。
但是,当我使用Internet Explorer时,所有地狱都会崩溃。该应用程序非常慢,CSS动画很痛苦,应用程序完全无法使用。
我已经花了一整天的时间尝试一些潜在的错误修正和调试,但我会成为王牌。
的事情,我可以看到:
- 当我使用IE11的开发工具和运行性能日志,“样式计算”占用,到目前为止,时间最大量。
- 当我有通配符CSS选择器性能会降低(如
*{box-sizing: border-box}
)
下面是从性能检查器的输出,当从字面上我要做的就是向下滚动的md-virtual-repeat
:
正如你所看到的,style calculation
在这里占用了很多时间。
谷歌搜索已经拿出了这个变通办法的王牌。这里发生了什么?这是一个红色的鲱鱼,问题在我的应用程序中的其他地方(我的JS和我想象的一样高效,我也测试了没有真实数据的加载,只有30个静态对象进入虚拟中继器 - 结果是一样的)。
我听说那些材质设计的css和它的选择器在IE上很慢。 – YOU
我在IE11中也遇到了类似ngMaterial 1.0.7的问题。当intl-tel-input和angular-material合并时,每次使用电话号码国家/地区代码滚动国家/地区列表时,渲染每个滚动需要750毫秒。这是非常荒谬的,并且其他所有浏览器都可以正常工作。如果你找到解决方案,请ping我。现在我正在评论CSS,评论一些CSS并注意到速度略有提高,但总体上仍然非常缓慢和滞后。 – ngDeveloper
@ngDeveloper解决方案是(a)升级到最新的ngMaterial,我认为它是RC2,并且(b)IE被我的CSS数量超载。删除一些正在使用的CSS库对网站速度有相当大的影响。 – Jascination