2009-06-23 75 views

回答

10

我不认为文档类型对渲染速度有影响。但是HTML文档的结构和风格会有。

复杂风格(浮动,定位,边距,填充)的复杂HTML文档(巨大的DOM树,许多嵌入对象)可能需要多次渲染运行。此外,一个无效的HTML代码浏览器需要做一些错误处理来解析和构建DOM树(但这不是渲染)。

就拿Gecko reflow例如,显示Firefox的渲染引擎Gecko的是如何呈现的HTML文件(视频为mozilla.orga Wikipedia pagegoogle.co.jp)。

+0

有趣的视频。看着它们,我不禁感觉到,解析CSS在渲染中扮演了比HTML更大的作用。当然,这两者不能完全分离。 – edeverett 2009-06-23 20:27:04

+0

@edeverett:不解析,但应用它。 – Gumbo 2009-06-23 20:41:06

+1

事实上,如果你在分析例如壁虎,风格系统和布局花费更多的时间在页面加载比解析。然而,quirks vs. standards模式会影响样式和布局,而不会影响解析。我没有测量过,但我期望怪癖模式是一个微小的慢一点,因为它在UA样式表中比标准模式有更多的样式规则。在解析中,使用<!DOCTYPE html>可以使解析器跳过对古怪的公共ID列表的搜索,但这是一种微观优化,您不应该为perf性能而烦恼(您应该出于其他原因)。 – hsivonen 2009-07-01 06:13:08

0

除了我自己的经验之外,我敢肯定任何差别都是微不足道的。

有一对夫妇在DOCTYPE选择的因素,可能会影响它:

  • 严格的DOCTYPE可能涉及的分析较少的时间(不提供任何错误,很明显)。
  • XHTML可能需要更长时间才能加载,因为所有内容都必须包含结束标记。

但是,根据您的渲染引擎以及它们如何处理源代码,这会有很大差异。

我还没有看到一个网站是如此优化,唯一剩下要看的就是文档类型。为了提高页面加载速度,我会使用诸如ySlowGoogle Page Speed之类的工具来指出更加明显的需要改进的地方。

+3

您是否意识到浏览器实际上并没有将您良好形式的标签汤解析为XML,除非您使用application/xhtml + xml MIME类型发送它? – Ms2ger 2009-06-23 17:08:43

1

谷歌是这个星球上最快的网站之一。他们使用以下文档类型:

<!doctype html> 

在Google,“每个字节都很重要”。

可以肯定的是,谷歌首先做了很多其他的事情。当你在他们的级别,你需要考虑你发送的字符/字节数。所以,如果你认为改变你的文档类型会有所帮助,那就使用上面的内容。

0

我从来没有听说过现实世界中的渲染速度差异。同样经常有人建议XHTML渲染速度更快。这个想法是,一个格式良好的文档浏览器不必处理错误,但浏览器不知道它是否形成良好,直到它呈现它...

有大量的页面与严格的XHTML文档类型,不验证。

所有其他涉及的因素可能更重要 - 除了下载速度,您使用CSS选择器的方式当然可以有一个例子。