您好,登錄后才能下訂單哦!
本篇文章為大家展示了瀏覽器不優化DOM操作性能的示例分析,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。
知乎上有人提問:
現在前端這么繁榮,為什么大家在扎堆在 JS 上做文章,搞什么 TypeScript,Deno 什么的。DOM 操作不是開銷最大的么,為什么大家不把精力放到優化瀏覽器交互而是 JS 技術的革新上?
瀏覽器一直在優化 DOM 的性能啊。
框架的目標是提高開發效率,而非運行效率。況且 DOM 的性能(或者延伸到瀏覽器的性能)這個確實不是由社區驅動的,雖然主流幾大瀏覽器都是開源的,但這些瀏覽器的開發者幾乎都是商業公司。
相比 JS 而言,開發者們對于瀏覽器布局和渲染的關注更少。畢竟大家對 JavaScript 的關注比較多,但是對于 CSS(3) 的性能關注就比較少了。
例如 V8 的新 JS 編譯器 Turbofan 以及新的解釋器 Ignition 很多開發者都聽說過,甚至 QuickJS,Hermes 的發布都引起了開發者們的強烈關注。但是對于 DOM 操作或者 CSS 引擎則很少有開發者關注。
其實瀏覽器一直在努力。如果你不信,你可以下載一個 2 年前的 Chrome 來訪問一下當前頁面 。
2005 年 HTML 規范大概 100 頁。
2020 年 HTML 規范大概 800 頁。
貼一張動圖來看看 Chrome 對 DOM 重繪的改進。
Chrome 怎么改進的呢?Chrome 為每個元素生成繪制命令,通過跟蹤分析這些繪制命令,以此來識別視覺上不重疊的子集。如果未修改其中一個子集,則可以直接從緩存中復制整個塊,而無需進行任何其他工作。這就顯著了提升了 DOM 改變后的重繪性能。
上述內容就是瀏覽器不優化DOM操作性能的示例分析,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。