現在手機的占比越來越高,各種酷炫頁面層出不窮,這些特效都離不開css動畫。說到css動畫,主流的情況也就無非這兩大類:位移和形變。而我們在寫一個動畫特效的過程中,如何去提升它的性能呢?當然首先我們需要去了解一下基本的概念,比如瀏覽器渲染的工作原理等,這些我也在讀了幾位大牛寫的相關文章后才有了一定的了解,這邊我也不細說了,有興趣的同學可以去了解一下。本次的目的簡單粗暴地講,其實就是我們應該使用什么css屬性去進行動畫的繪制時,能夠有效的提高瀏覽器在渲染和繪制過程中的性能。
分別使用了left和transform在2秒內向右平移了500px的位移。代碼如下:
然后在chrome下得到了如下的結果,第一張為使用left的截圖,第二張為使用transform的截圖:

transform的截圖

顯而易見,我們在幀模式這里可以看到left比transform幀數要低,而且在渲染和繪制這邊的耗時,left要遠遠的大于transform。看到這里,相信大家心里已經有結論了。
我們再利用chrome的show paint rectangles來觀察一下兩者在動畫過程中,渲染和繪制的區域有何差異,第一張為使用left的截圖,第二張為使用transform的截圖:

transform的截圖
新聞熱點
疑難解答