1

当使用使用backbone.js 开发的应用程序时,Chrome 在将通过AJAX 调用检索到的大型文档的内容添加到DOM 时会冻结大约7-10 秒。Chrome 的事件时间线显示,主要问题是单个“布局”事件大约需要 6-8 秒(如果重要的话,用现代 MB Air 测量的时间)

正在加载的内容约为 800kbs 的未压缩 HTML,15000 个 DOM 节点,内容加载后的内存使用量约为 30-35 Mbs;这是一个很大的文件,但这么长时间的冻结感觉不太对劲。

  • 对于这样的文档,预期会有这么大的“布局”时间,还是其他问题的迹象?(如过于复杂的 CSS 规则、糟糕的 HTML 结构等)

  • 除了文档大小之外,还有哪些其他因素可能会影响“布局”事件的性能?

  • 除了将内容分割成碎片的明显且可能正确的解决方案之外,是否有任何技巧可以使浏览器更容易计算布局事件?(我正在考虑将怪物内容放置在 iframe 或具有固定位置的 div 中,或者避免内容中的特定 CSS 功能)

4

0 回答 0