欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

DOM操作的額外性能問題

2024-02-14    分類: 網(wǎng)站建設(shè)

我們一直以來備受DOM操作低效率的困擾,直接把所有責任都推給DOM是不對的。在DOM背后還有一個和它一樣糟糕的家伙在坑效率。這家伙有時候會帶來比DOM本身更嚴重的問題。 DOM的操作本身是同步的,代碼執(zhí)行完的同時操作也完成了,但這“完成”僅限于DOM本身。DOM操作完成只是在當前腳本運行所在的消息中,我們在這里干的壞事不會立即遭報。當這個消息結(jié)束時候,CSS重新計算我們對文檔影響的部分,如果這部分很大就需要大量的時間。我們可以做這樣的測試 運行<script> document.onclick=function(){ var i,t,div,body; t=new Date; body=document.body; for(i=0;i<1E4;i++){ div=document.createElement("div"); body.appendChild(div); }; console.log(new Date-t+" <- DOM操作耗時"); t=new Date; setTimeout(function(){ console.log(new Date-t+" <- CSS渲染耗時"); }); }; </script>

這個代碼只測試了1E4個元素,可把我們的Chrome累壞了,F(xiàn)irefox和IE躲在一旁笑嘻嘻。Chrome的問題應(yīng)該是出在它渲染引擎的某些算法上。我做了很多測試,Chrome的渲染引擎在添加元素的問題上是指數(shù)時間復雜度,而Firefox和IE則是線性時間復雜度。所以元素的數(shù)量一多Chrome就吃不消了。但這篇文章要說的關(guān)鍵不是Chrome渲染引擎的BUG,而是渲染本身帶來的性能開銷。我們看Chrome中對上面代碼工作的耗時分布

RecalculateStyle的耗時是很大的,這個測試還是在完全沒有用戶CSS的環(huán)境下測試的,如果我引入一個非常復雜的CSS,那么這個計算時間還得增加許多。當然這個圖是Chrome上的,RecalculateStyle的耗時比較夸張。但是即使在Firefox和IE上,他們至少也是線性的時間復雜度。 很多文章中說使用文檔片段(DocumentFragment)來優(yōu)化DOM操作的性能,這種說法是建立在“DOM操作實時計算CSS”的設(shè)想上的。如果DOM操作實時計算CSS,那確實可以合并這些計算起到優(yōu)化作用。但實際上計算CSS的步驟并不在操作DOM時進行,而是在單獨的消息中完成的,所以文檔片段在這方面不能帶來優(yōu)化。 操作DOM和計算CSS,這兩個步驟都是必不可少的。線性的時間復雜度已經(jīng)是最優(yōu)的了。如果說可以優(yōu)化,我們只能針對Chrome的這個BUG來優(yōu)化,解決在Chrome上的問題。如果非要對這整個問題進行優(yōu)化就得從問題的根本入手,避免大規(guī)模的文檔結(jié)構(gòu)變化。 最后我只想說,讓文檔變得如此巨大的程序本身就不是好程序!

本文標題:DOM操作的額外性能問題
URL標題:http://www.aaarwkj.com/news43/317393.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、網(wǎng)站營銷、品牌網(wǎng)站制作動態(tài)網(wǎng)站、電子商務(wù)、全網(wǎng)營銷推廣

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

手機網(wǎng)站建設(shè)
国产91日韩欧美在线观看| 国产丝袜肉丝在线播放| 人妻黄色这里只有精品| 91精品国产成人在线| 亚洲丰满毛茸茸毛茸茸| av手机天堂网免费观看| 亚洲欧美高清一区二区| 日韩精品二区在线观看| av在线日韩国产精品| 看夫妻性生活免费视频| 深夜av一区二区三区| 国产亚洲成人精品久久| 日韩欧美国产亚洲在线| 免费人成在线观看网站免费观看| 中文字幕乱码亚洲精品一区| 国内精品偷拍一区二区三区| 精品成人18亚洲av播放| 日本国内一区二区三区四区视频 | 日本午夜节目在线观看| 亚洲午夜精品美女写真| 亚洲一区二区视频在线观看免费| 国产精品久久中文字幕亚洲| 中国成熟女人毛茸茸视频| 九九热这里只有免费精品| 91亚洲精品一区二区三区| 日本av电影一区二区三区四区| 精品国产品国语在线不卡| 中文字幕日本精品人妻在线| 国产又粗又长在线视频| 日本福利影院在线观看| 日韩不卡一区二区三区| 999久久久久亚洲精品| 中文字幕在线日韩精品| 热九九这里只有热九九| 国产欧美日韩一二三四| 麻豆精品国产粉嫩av| 四虎在线观看免费资源| 超碰欧美黄色免费在线| 97久久成人国产精品免费| 蜜臀91精品视频在线观看| 国产偷人伦激情在线观看|