【发布时间】:2011-05-17 20:13:47
【问题描述】:
如果 HTML 足够复杂,则 HTML 内容的布局和呈现可能需要一些时间。我找不到一套关于如何编码 HTML 以帮助布局引擎(特别是在 IE 中)的最佳实践,以便更快地重绘页面。是否存在这样一套最佳实践?
我当前的具体问题是我的表格数据(在表格元素中)导致页面绘制速度太慢,并使 DOM 更新(悬停效果)和动画非常缓慢。我确定这不是 JavaScript 性能。我已经使用 dynaTrace AJAX 检查了该页面。当我将鼠标悬停在元素上时 CPU 变得太忙了,但是没有 JS 运行。并且悬停是通过向TR元素添加/删除一个类来实现的。我也在 Firefox 中尝试过 YSlow,它没有显示任何特定问题。它也与网络无关。 (Firefox 布局页面更快,但不是因为它的 JS 引擎更快)
是否有工具可以在 IE 中分析绘图和布局,以便找出问题所在?是什么导致绘图如此缓慢,以便我可以在 HTML 代码中避免它们?
【问题讨论】:
-
加快渲染速度的最好方法是少写代码。
-
你没有使用 CSS 表达式,是吗?这些是 JS-in-CSS,往往会消耗所有可用的 CPU 资源。
-
不,我猜我的 CSS 只是普通的 CSS。
-
当鼠标悬停在元素上时 CPU 会变得很忙,并且您在没有 Javascript 参与的情况下向 TR 元素添加/删除类?为何如此?还是类的添加/删除不是动态的,我误解了?
-
涉及到 JavaScript。 JQuery 实际上是用来添加类的。但正如我所描述的,JS 在亚毫秒时间内运行并且完成了。 JS完成后,由于改变了类,所以触发了重绘,耗时太长。
标签: html performance internet-explorer layout profiling