2017-10-18 72 views
0

我有一个应用程序,它可以进行调用,然后基于进入的数据更新屏幕。该应用程序在IE浏览器上显得很慢(甚至无法滚动),但在Chrome上,该应用非常快速。我注意到,如果我停止所有的网络通话,那么应用程序在IE上也很快。我想可能屏幕上的数据太多了,所以我让Angular控制器停止更新屏幕上使用的对象;这根本没有帮助。那么我认为get-request的数据量必须太大;所以我更改了ASP.net-WebAPI以获取小的获取请求,这些请求将检查更新标志,并且只有在发生更改时才请求完整的数据阵列(这会使总数据发送得更小)。这些更频繁的请求少于一千字节,这使得应用程序的响应性更低!那么这些“频繁”的获取请求(只有几百个字节,每3秒一次)对于IE来说太多了。这似乎很愚蠢; IE无法处理我的应用程序的真正原因是什么? 20个请求/分钟每个只有几百个字节真的杀死我的应用程序?我知道IE中的渲染器是旧的,但为什么我的应用程序会在网络通话时冻结?在IE中进行网络通话时,角度4的应用程序减速停止

我在我的应用程序中使用ng-bootstrap。我也使用font-awesome,但是取出字体真棒没有帮助。

+0

IE浏览器在市场上最快的屏幕重绘超过120fps的全高清分辨率屏幕信息亭模式的JavaScript DOM动画。 IE上屏幕上永远不会有太多“数据”。但是,通过网络为数据饥饿的应用程序使用同步请求是故意阻止程序。插件apis的沙拉迫使IE停止所有执行,直到请求的数据可用。流通中80%的艾滋病患者不友好,另外20%的患者是公开敌对的。 –

+0

@BekimBacaj谢谢你的洞察力。如果IE浏览器速度更快,您是否会告诉我为什么在进行这些网络通话时Chrome和Firefox运行得非常好?我的电话实际上与我所理解的(承诺和观察)都是异步的。 –

+0

因为apis,你依靠做你的工作,故意写上clobber,并尽可能扼住IE。 –

回答

0

打开运行速度更快的解决方案是调用enableProdMode();在main.ts

奇怪的是,IE浏览器如此剧烈的影响,而其他浏览器没有。使我无法在IE中调试该组件...

相关问题