怎麼解決動畫卡頓

2021-08-08 17:57:35 字數 1316 閱讀 7175

**:

總結解決css3動畫卡頓方案

1.盡量使用transform做動畫,避免使用height,width,margin,padding等;

原因是:

根據定義,css 的transform屬性不會更改元素或它周圍的元素的布局。transform屬性會對元素的整體產生影響,它會對整個元素進行縮放、旋轉、移動處理。

這對瀏覽器來說是個好訊息 !瀏覽器只需要一次生成這個元素的點陣圖,並在動畫開始的時候將它提交給gpu去處理 。之後,瀏覽器不需要再做任何布局、 繪製以及提交位圖的操作。從而,瀏覽器可以充分利用 gpu 的特長去快速地將點陣圖繪製在不同的位置、執行旋轉或縮放處理。

對於高度較慢的原因:

在動畫的每一幀中,瀏覽器都要執行布局、 繪製、 以及將新的點陣圖提交給gpu。我們知道,將位圖載入到 gpu 的記憶體中是乙個相對較慢的操作。

瀏覽器需要做大量工作的原因在於每一幀中元素的內容都在不斷改變。改變乙個元素的高度可能導致需要同步改變它的子元素的大小,所以瀏覽器必須重新計算布局。布局完成後,主線程又必須重新生成該元素的點陣圖。

2.要求較高時,可以開啟瀏覽器開啟gpu硬體加速。

比如:

一、現在,像chrome, firefox, safari, ie9+和最新版本的opera都支援硬體加速,當它們檢測到頁面中某個dom元素應用了某些css規則時就會開啟,最顯著的特徵的元素的3d變換。

.cube

二、可是在一些情況下,我們並不需要對元素應用3d變換的效果,那怎麼辦呢?這時候我們可以使用個小技巧「欺騙」瀏覽器來開啟硬體加速。

雖然我們可能不想對元素應用3d變換,可我們一樣可以開啟3d引擎。例如我們可以用transform: translatez(0); 來開啟硬體加速 。

.cube

在 chrome and safari中,當我們使用css transforms 或者 animations時可能會有頁面閃爍的效果,下面的**可以修復此情況:

.cube

解決Chrome動畫」卡頓」的辦法

為動畫dom元素新增css3樣式 webkit transform transition3d 0,0,0 或 webkit transform translatez 0 這兩個屬性都會開啟gpu硬體加速模式,從而讓瀏覽器在渲染動畫時從cpu轉向gpu,其實說白了這是乙個小伎倆,也可以算是乙個hack...

解決webstorm卡頓問題

webstorm強大的功能就不多做介紹了。但是它的缺點也顯而易見 吃記憶體。電腦配置稍低一點,執行webstorm就特別容易卡頓,特別是專案比較大的時候,那卡頓得不要不要的。在我的筆記本8g記憶體 256ssd的配置下,執行webstorm還是會稍微有點卡。不過可以通過設定 記憶體值大小來解決。具體...

資料網路卡頓怎麼處理 手機流量卡頓怎麼辦

手機流量卡頓的解決方法是 1 檢視是否為2g網路或網路訊號弱,若為4g 3g網路,或網路訊號滿格的情況下,建議將手機關機重啟。2 檢查是否設定為省電模式或超級省電模式,建議禁用後觀察是否出現同樣的情況。3 更換其他位置嘗試,如 在室內,更換至窗邊。4 若僅是在使用某個軟體時出現上網速度慢的情況,建議...