2009-06-23 103 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選擇器的方式當然可以有一個例子。