网页渲染时最耗时的是什么

现在Ajax的页面越来越多,DavidYin所制作的网站也大量的使用了jQuery库,当页面越来越复杂,相对而言,网页载入的时间也会增加,那么最耗时的是什么呢?

通常页面活动中,各个部分可以分成,布局,渲染,HTML,Marshaling,DOM,JScript等。
其中影响最大的不是我们以为的JScript,而是DOM。特别是复杂的页面,比如sina出现一个页面有3000多个DOM,页面就会很慢。

在数十个到几百个,我都认为是可以接受的。
但到达四位数,我就认为网页有优化的余地,精简代码,优化代码,以减少DOM对象。

很多时候,设计师为了布局或者CSS定位,而嵌套很多div,或者设置空内容的div,而造成html代码冗余,而有效内容占代码总量的比例过低,这也带来了另外一个问题,网页信噪比的问题,这里就不展开了。

总而言之,过多的DOM对象,只会拖慢网页展示的速度,带来排名的问题。尽可能的减少DOM对象,是一举两得的优化策略。

如果你有使用Firebug,可以在控制板中输入命令:
document.getElementsByTagName('*').length

就可以看到当前页面的DOM数目。