回答
我不認爲文檔類型對渲染速度有影響。但是HTML文檔的結構和風格會有。
複雜風格(浮動,定位,邊距,填充)的複雜HTML文檔(巨大的DOM樹,許多嵌入對象)可能需要多次渲染運行。此外,一個無效的HTML代碼瀏覽器需要做一些錯誤處理來解析和構建DOM樹(但這不是渲染)。
就拿Gecko reflow例如,顯示Firefox的渲染引擎Gecko的是如何呈現的HTML文件(視頻爲mozilla.org,a Wikipedia page和google.co.jp)。
有趣的視頻。看着它們,我不禁感覺到,解析CSS在渲染中扮演了比HTML更大的作用。當然,這兩者不能完全分離。 – edeverett 2009-06-23 20:27:04
@edeverett:不解析,但應用它。 – Gumbo 2009-06-23 20:41:06
事實上,如果你在分析例如壁虎,風格系統和佈局花費更多的時間在頁面加載比解析。然而,quirks vs. standards模式會影響樣式和佈局,而不會影響解析。我沒有測量過,但我期望怪癖模式是一個微小的慢一點,因爲它在UA樣式表中比標準模式有更多的樣式規則。在解析中,使用<!DOCTYPE html>可以使解析器跳過對古怪的公共ID列表的搜索,但這是一種微觀優化,您不應該爲perf性能而煩惱(您應該出於其他原因)。 – hsivonen 2009-07-01 06:13:08
除了我自己的經驗之外,我敢肯定任何差別都是微不足道的。
有一對夫婦在DOCTYPE選擇的因素,可能會影響它:
- 嚴格的DOCTYPE可能涉及的分析較少的時間(不提供任何錯誤,很明顯)。
- XHTML可能需要更長時間才能加載,因爲所有內容都必須包含結束標記。
但是,根據您的渲染引擎以及它們如何處理源代碼,這會有很大差異。
我還沒有看到一個網站是如此優化,唯一剩下要看的就是文檔類型。爲了提高頁面加載速度,我會使用諸如ySlow或Google Page Speed之類的工具來指出更加明顯的需要改進的地方。
您是否意識到瀏覽器實際上並沒有將您良好形式的標籤湯解析爲XML,除非您使用application/xhtml + xml MIME類型發送它? – Ms2ger 2009-06-23 17:08:43
谷歌是這個星球上最快的網站之一。他們使用以下文檔類型:
<!doctype html>
在Google,「每個字節都很重要」。
可以肯定的是,谷歌首先做了很多其他的事情。當你在他們的級別,你需要考慮你發送的字符/字節數。所以,如果你認爲改變你的文檔類型會有所幫助,那就使用上面的內容。
我從來沒有聽說過現實世界中的渲染速度差異。同樣經常有人建議XHTML渲染速度更快。這個想法是,一個格式良好的文檔瀏覽器不必處理錯誤,但瀏覽器不知道它是否形成良好,直到它呈現它...
有大量的頁面與嚴格的XHTML文檔類型,不驗證。
所有其他涉及的因素可能更重要 - 除了下載速度,您使用CSS選擇器的方式當然可以有一個例子。
- 1. CSS選擇器,IE瀏覽器和HTML文檔類型
- 2. html 5文檔類型和更舊的瀏覽器
- 3. HTML5文檔類型和WAP移動瀏覽器
- 4. 文檔類型和瀏覽器行爲特別是MS IE 10
- 5. HTML5文檔上傳和瀏覽器
- 6. Perl文檔(POD)瀏覽器?
- 7. 根據VB.net中的瀏覽器類型指定不同的文檔類型
- 8. Chrome瀏覽器渲染速度錯誤?
- 9. JavaScript瀏覽器解析速度測試
- 10. 查找瀏覽器類型和版本?
- 11. 瀏覽器中的文檔預覽
- 12. 控制瀏覽器類型
- 13. 瀏覽速度取決於瀏覽器嗎?
- 14. Web瀏覽器速度過快,如何控制速度?
- 15. tr高度和文檔類型
- 16. Typescript對象(類型/成員)瀏覽器(瀏覽器/查看器)
- 17. JS檢測瀏覽器的寬度和高度在Chrome瀏覽器和Safari瀏覽器,但不是IE9或FF9
- 18. 查找瀏覽器的SWT瀏覽器的類型/版本
- 19. 瀏覽器寬度和高度
- 20. 瀏覽器大小(寬度和高度)
- 21. 網站速度和槓桿瀏覽器緩存
- 22. 的Javascript滾動類和鼠標滾輪的速度在不同的瀏覽器
- 23. 瀏覽器對於主體/文檔有最大高度嗎?
- 24. 真正跨瀏覽器的方式獲取文檔高度?
- 25. 如何在瀏覽器中獲取最大文檔高度?
- 26. C#文檔Web瀏覽器缺少HTML
- 27. 基於瀏覽器的文檔掃描
- 28. 「的OnEventName」在文檔瀏覽器支持
- 29. 在瀏覽器中打開文檔
- 30. 跨瀏覽器比較文檔位置
如有疑問,請寫下性能測試 – jrharshath 2009-06-23 11:54:45