我们正在考虑聚合物技术(& dart语言)来开发一个公共/互联网应用程序/网站。在测试/validating的方法时,我们遇到了一个潜在的显示障碍。(基本的)站点表现得相当好。在不同的浏览器和平台上,但是在Windows8.1的Internet 11上却非常慢。
这个问题似乎与我们的特定代码无关,因为使用例如聚合物演示(菜单按钮):https://www.polymer-project.org/components/paper-elements/demo.html#paper-menu-button似乎很容易再现行为。
在IE11 (11.0.9600.17351)上,加载该页面需要超过16秒。使用IE11的“UI响应性”分析器,创建了一个.diagsession文件:乍一看,问题似乎与网络流量/要下载的文件数量无关。15.73秒用于“DOM事件(Readystatechanged)”。我们没有测试IE的另一个版本--只有IE11。
这个问题有什么解决办法吗?还是这个问题使得用聚合物组件创建的网站/网络应用程序在IE(11)中不能正常工作?这可能会成为公共互联网网站/网络应用的展示障碍。
发布于 2014-11-07 22:01:42
这个问题的解决办法是由jakemac53 on https://github.com/Polymer/polymer/issues/891提出的。
啊,所以我花了一点时间才弄清楚,但这是因为在每个元素中包含的大型css文件(特别是引导程序)上运行的影子dom css多填充。幸运的是,很容易从运行中禁用这个polyfill (并且它不需要引导)。只需将"no-shim“属性添加到所有链接样式表中,例如,引导程序就应该是这样的:否则polyfill必须复制文件中的所有内容并应用其转换,然后将结果标记为内联样式表。当在一个大型样式表(如引导)上多次这样做时,它确实会减慢速度。
发布于 2014-11-05 23:49:00
硫化工具是生产应用程序的关键。像IE11这样的填充浏览器本身就会比本地的HTML慢,所以减少请求的数量和安装工作是非常重要的。
例如,我只需运行https://www.polymer-project.org/articles/demos/spa/final.html:178 q/,就可以将SPA演示(SPA演示)从~20岁到~3.7秒不等。
发布于 2014-11-06 16:41:38
看起来,这个例子的缓慢是由页面上的元素数量造成的。在国家选择下拉,有~240纸项目元素,其中有4个下降,所以总有1000纸项目元素在页面上。其中每一个都有两个自定义元素,纸纹波和核心图标,所以现在我们已经有了3000个定制元素,更不用说所有其他元素了。我证实,简单地将大多数国家排除在外就能大大提高业绩。
在Firefox和IE中,它们运行在多填充环境下,这放大了它们的性能问题,这就是为什么您在这些浏览器中看到的速度如此缓慢的原因。性能绝对是聚合物团队正在积极开展的工作(特别是与Poly填充有关),但是无论何时页面上有这么多元素,它都会在较慢的浏览器中引起问题。
https://stackoverflow.com/questions/26768081
复制相似问题