我的应用程序提供的其中一个页面非常长(大约8Mb的源HTML,大部分是表格)。我知道这本身就是错误架构的标志,但在某些情况下,不允许那么快地改变:
除了IE之外,几乎所有浏览器的页面都是好的--当然比一般浏览器慢,但看起来显示时间主要是由代码下载速度决定的,我对此没有意见。
这在IE (7,8和9)中有很大的不同-页面在下载后会有10-15秒的极慢的冻结屏幕效果,然后经历明显的滚动滞后和“脚本运行缓慢”消息,而页面上没有运行javascript。当显示该页面时,IE9也需要大约800Mb的内存。
当我提供这种大小的纯文本内容时,效果要好得多,但格式化的HTML表格似乎会造成问题。看起来long DOM是任何版本的IE的拦截器。
我不知道我希望得到什么答案-显然,一个合适的解决方案是改变页面架构,在服务器端将其分解,并通过ajax逐段提供服务,但尽管如此- IE有没有什么神奇的杂注或js来停止使用DOM树加速它的工作?
发布于 2012-10-30 05:20:06
这将是最好的解决方案,查克页面下载客户端。但是你需要注意的是,"table"标签是IE中渲染速度最慢的标签(根据我的经验)。因此,在第一步中,我认为您应该对HTML文档进行一些修改。以下是一些建议:
毕竟,一定要记住,每个字符都在内存中存储了8个字节(不管它是不是虚拟的),包括xml解析器使用的所有解析变量和内存,以及加载HTML字符串并从中生成DOM的一些非常困难的代码。读取文档和解析文档的速度与文档的大小一样重要。
希望它能帮助你..干杯
https://stackoverflow.com/questions/13129530
复制相似问题