999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

前端性能優(yōu)化分析

2020-04-15 03:55:27李廣宏
科技風 2020年11期

摘?要:高性能的網(wǎng)頁響應(yīng)非常快,如果網(wǎng)頁加載時間過長,頁面卡頓,會流失很多用戶,高性能的頁面還可大量減少用戶CPU與內(nèi)存的占用率。因而本文將從瀏覽器渲染原理探討如何進行性能提升

關(guān)鍵詞:性能優(yōu)化;web前端;瀏覽器渲染;DOM樹

一、頁面渲染過程

首先瀏覽器拿到HTTP報文時會解析出HTML文檔,頁面上各個DOM節(jié)點的內(nèi)容將根據(jù)文檔的各標記轉(zhuǎn)化成“內(nèi)容樹”。然后當文檔在head部分遇到link標記會去解析該CSS文件以及style標記中的樣式數(shù)據(jù),形成CSSOM。最后瀏覽器會將DMO與CSSOM進行合并同時生成渲染樹,頁面在根據(jù)渲染樹進行布局繪制。

瀏覽器主要渲染過程為根據(jù)獲取的HTML文檔解析形成DOM樹,處理CSS標記形成CSSOM(CSS Object Model)樹,在結(jié)合DOM和CSSOM合并為渲染樹(代表將要被渲染的對象),在將渲染樹的每個節(jié)點繪制在屏幕上。

DOM樹、CSSOM樹以及渲染樹的生成非常快,布局的生成以及將節(jié)點繪制繪制在屏幕上非常耗時,這兩個過程合稱為“渲染”。

二、重排和重繪

重繪(Repaint)是渲染樹的一個重要屬性,而這些屬性決定了頁面元素的外觀風格,他不會影響頁面布局,如color屬性發(fā)生變化,則頁面頁面字體color的顏色也就發(fā)生了變化。但是元素字體大小并沒有變。重排(Reflow)是指頁面元素發(fā)生了幾何尺寸的改變,瀏覽器需要根據(jù)該屬性重新計算生成新的渲染樹,重排會使得頁面一部分或全部屬性發(fā)生改變。

重繪與重排十分消耗網(wǎng)頁性能,在網(wǎng)頁初次加載時會至少渲染一次。當用戶瀏覽操作頁面時還會不斷重新渲染,此過程會造成瀏覽器耗費大量的開銷在進行頁面的計算

修改DOM、修改樣式表、用戶事件(比如鼠標懸停、頁面滾動、輸入框鍵入文字、改變窗口大小等等)都會導致網(wǎng)頁重新渲染。

重繪和重排的區(qū)別是,重繪不一定需要重排,比如改變某個網(wǎng)頁元素的顏色,僅僅是重繪,不會重排,因為布局沒有改變。但是,重排一定會重繪,比如改變一個網(wǎng)頁元素的位置,瀏覽器會需要重新構(gòu)造渲染樹進行重排,重排后在屏幕上進行重繪,所以就會同時出現(xiàn)重排和重繪。

三、性能優(yōu)化

根據(jù)互聯(lián)網(wǎng)八秒定律網(wǎng)站的性能將直接影用戶的訪問量。影響網(wǎng)頁性能主要有網(wǎng)絡(luò)、服務(wù)器性能、DNS解析時效、頁面渲染速度等。其中頁面渲染涉及到的重排和重繪所需時間占比較大,而又不可避免,所以要提高網(wǎng)頁性能,就要降低重排和重繪的發(fā)生。

(1)瀏覽器會將所有的變動集中在一起,排成一個隊列,然后一次性執(zhí)行,盡量避免多次重新渲染。

(2)減少對渲染樹的操作,批量修改DOM和CSSOM。減少對style樣式的請求,或者可以直接改變元素的className。通過讓該元素脫離文檔流、對其進行多重改變、將元素帶回文檔中可以減少重繪和重排的次數(shù)。

(3)盡量使用離線DOM,而不是真實的網(wǎng)面DOM,先將元素設(shè)為display:none;然后對這個節(jié)點進行100次操作;最后再設(shè)置為display:block,這樣僅能引發(fā)兩次重繪和重排。另外,visibility:hidden的元素只對重繪有影響,不影響重排。

(4)不要經(jīng)常訪問瀏覽器的flush隊列屬性;如果一定要訪問,可以利用緩存。將訪問的值存儲起來,接下來使用就不會再引發(fā)回流。

(5)position屬性;將元素position屬性設(shè)為absolute或fixed,元素脫離了文檔流,它的變化不會影響到其他元素。

(6)不要使用table布局,因為table中某個元素旦觸發(fā)了reflow,那么整個table的元素都會觸發(fā)reflow。那么在不得已使用table的場合,可以設(shè)置table-layout:auto;或者是table-layout:fixed這樣可以讓table一行一行的渲染,這種做法也是為了限制reflow的影響范圍。

(7)使用虛擬DOM的腳本庫,比如React、Vue等。

四、結(jié)語

應(yīng)用程序變得越來越大和越來越復雜,性能優(yōu)化對于Web開發(fā)來說正在變得越來越重要。在做出任何值得的時間和潛在的未來成本的優(yōu)化嘗試時,有針對性的改進都是必不可少的。

作者簡介:李廣宏(1986-),男,漢族,遼寧人,本科,實驗室,研究方向:信息化、系統(tǒng)運維、網(wǎng)站開發(fā)。

主站蜘蛛池模板: 玩两个丰满老熟女久久网| 亚洲天堂网在线播放| 国产成年无码AⅤ片在线 | 免费无码网站| 四虎AV麻豆| 亚洲一区无码在线| 精品撒尿视频一区二区三区| 国产精品第页| 欧美性久久久久| 欧美成人精品欧美一级乱黄| 亚洲自拍另类| 亚洲AV无码一二区三区在线播放| 香蕉国产精品视频| 国产高清不卡视频| 国产系列在线| a级毛片一区二区免费视频| 夜夜爽免费视频| 日本手机在线视频| 国产精品第一区在线观看| 国产高清又黄又嫩的免费视频网站| 亚洲黄色网站视频| 99热国产这里只有精品无卡顿" | 国产成人AV大片大片在线播放 | 国产欧美性爱网| 亚洲高清无码久久久| 无码中文字幕乱码免费2| 欧美日本激情| 午夜国产大片免费观看| www.国产福利| 免费欧美一级| 在线人成精品免费视频| 伊人色综合久久天天| 久久无码高潮喷水| 手机在线看片不卡中文字幕| 亚洲日韩精品综合在线一区二区| 久久综合伊人 六十路| 亚洲va欧美ⅴa国产va影院| 久久免费精品琪琪| 亚洲中文在线看视频一区| 色悠久久久久久久综合网伊人| 国产精品久线在线观看| 五月激情婷婷综合| 欧美自慰一级看片免费| 亚洲动漫h| 精品1区2区3区| 香蕉视频在线观看www| 在线观看亚洲精品福利片| 亚洲精品动漫在线观看| 国产亚洲精品无码专| 国产xxxxx免费视频| 亚洲视频免| 国产在线观看一区精品| 国产大片黄在线观看| 国产白浆一区二区三区视频在线| 三级毛片在线播放| 成人亚洲国产| 高清无码一本到东京热| 日本亚洲国产一区二区三区| 97色伦色在线综合视频| 久久久久国产一区二区| 亚洲中文字幕国产av| 亚洲最新在线| 色哟哟精品无码网站在线播放视频| 伊在人亚洲香蕉精品播放| 污视频日本| 在线免费看片a| 亚洲熟妇AV日韩熟妇在线| 久久综合激情网| 国产精品妖精视频| 成人免费视频一区| 美女无遮挡被啪啪到高潮免费| 美女扒开下面流白浆在线试听| 欧美国产在线一区| 欧美日韩资源| 天堂av综合网| 国产特级毛片aaaaaaa高清| 日韩欧美国产中文| 99久久精品国产自免费| 五月婷婷亚洲综合| 久久综合丝袜长腿丝袜| 亚洲黄色激情网站| 国产美女自慰在线观看|