發(fā)文章
發(fā)文工具
撰寫
網(wǎng)文摘手
文檔
視頻
思維導圖
隨筆
相冊
原創(chuàng)同步助手
其他工具
圖片轉(zhuǎn)文字
文件清理
AI助手
留言交流
翻譯文章,原文地址:http://blog./increase-your-sites-performance-with-hardware-accelerated-css。
你知道我們可以在瀏覽器中用css開啟硬件加速,使GPU (Graphics Processing Unit) 發(fā)揮功能,從而提升性能嗎?
現(xiàn)在大多數(shù)電腦的顯卡都支持硬件加速。鑒于此,我們可以發(fā)揮GPU的力量,從而使我們的網(wǎng)站或應用表現(xiàn)的更為流暢。
CSS animations, transforms 以及 transitions 不會自動開啟GPU加速,而是由瀏覽器的緩慢的軟件渲染引擎來執(zhí)行。那我們怎樣才可以切換到GPU模式呢,很多瀏覽器提供了某些觸發(fā)的CSS規(guī)則。
現(xiàn)在,像Chrome, FireFox, Safari, IE9+和最新版本的Opera都支持硬件加速,當它們檢測到頁面中某個DOM元素應用了某些CSS規(guī)則時就會開啟,最顯著的特征的元素的3D變換。
例如:
.cube {
-webkit-transform: translate
3
d(
250px
,
)
rotate
-120
deg)
scale
0.5
);
}
可是在一些情況下,我們并不需要對元素應用3D變換的效果,那怎么辦呢?這時候我們可以使用個小技巧“欺騙”瀏覽器來開啟硬件加速。
雖然我們可能不想對元素應用3D變換,可我們一樣可以開啟3D引擎。例如我們可以用transform: translateZ(0); 來開啟硬件加速 。
-webkit-transform: translateZ(
0
-moz-transform: translateZ(
-ms-transform: translateZ(
-o-transform: translateZ(
transform: translateZ(
/* Other transform properties here */
在 Chrome and Safari中,當我們使用CSS transforms 或者 animations時可能會有頁面閃爍的效果,下面的代碼可以修復此情況:
-webkit-backface-
visibility
:
hidden
;
-moz-backface-
-ms-backface-
backface-
-webkit-perspective:
1000
-moz-perspective:
-ms-perspective:
perspective:
在webkit內(nèi)核的瀏覽器中,另一個行之有效的方法是
-moz-transform: translate
-ms-transform: translate
transform: translate
原生的移動端應用(Native mobile applications)總是可以很好的運用GPU,這是為什么它比網(wǎng)頁應用(Web apps)表現(xiàn)更好的原因。硬件加速在移動端尤其有用,因為它可以有效的減少資源的利用(麥時注:移動端本身資源有限)。
只對我們需要實現(xiàn)動畫效果的元素應用以上方法,如果僅僅為了開啟硬件加速而隨便亂用,那是不明智的。
小心使用這些方法,如果通過你的測試,結(jié)果確是提高了性能,你才可以使用這些方法。使用GPU可能會導致嚴重的性能問題,因為它增加了內(nèi)存的使用,而且它會減少移動端設備的電池壽命。
你有在項目中使用過這些方法嗎?如果有,請分享你的精彩案例吧。
如果您覺得這文章對您有幫助,可以打賞點錢給我,鼓勵我繼續(xù)寫博,我的支付寶
來自: 昵稱10504424 > 《工作》
0條評論
發(fā)表
請遵守用戶 評論公約
[css] 第118天 說說你對GPU的理解,舉例說明哪些元素能觸發(fā)GPU硬件加速?
[css] 第118天 說說你對GPU的理解,舉例說明哪些元素能觸發(fā)GPU硬件加速?前端面試每日3+1,以面試題來驅(qū)動學習,每天進步一點!學習不打烊,充電加油只為遇到更好的自己,365天無節(jié)假日,每天早上5點純...
用IE9 Beta之前你應該了解的9件事
第二,安裝IE9 Beta版后,系統(tǒng)中原有的IE7或IE8將被覆蓋,你將只有IE9可以使用,如果你因為工作原因必須要使用舊版IE瀏覽器,那一定要慎...
IE9:九個不得不說的秘密
IE9:九個不得不說的秘密IE9:九個不得不說的秘密。IE9已經(jīng)越來越近,我們曾為大家介紹過IE7、IE8和IE9的差別,如果這還不足以讓你對IE9...
關閉硬件加速 解決IE9假死現(xiàn)象
關閉硬件加速 解決IE9假死現(xiàn)象。IE9可通過硬件加速實現(xiàn)網(wǎng)頁渲染。但如果你的電腦配置有點舊,那么Vista和Win7的圖像加強效果就不好,打...
前端性能優(yōu)化(CSS動畫篇)
比如一個圖層包含很多節(jié)點,其中有個gif圖,gif圖的每一幀,都會重回整個圖層的其他節(jié)點,然后生成最終的圖層位圖。所以這需要通過特殊的方式來強制gif圖屬于自己一個圖層(translateZ(0)或者translate...
前端性能優(yōu)化之更平滑的動畫 | w3cTrain
前端性能優(yōu)化之更平滑的動畫 | w3cTrain.執(zhí)行動畫盡量使用CSS3 keyframes和 trainsition如果需要JS執(zhí)行動畫,使用requestAnimationFrame...
瀏覽器極致性能調(diào)優(yōu)之——瀏覽器合成與渲染層優(yōu)化
瀏覽器極致性能調(diào)優(yōu)之——瀏覽器合成與渲染層優(yōu)化一個 CSS 屬性引發(fā)的血案。構建 DOM 樹:瀏覽器將 HTML 解析成樹形結(jié)構的 DOM 樹,一般...
Javascript高性能動畫與頁面渲染
m++) { // DEMO 版本 //movers[m].style.left = ((Math.sin(movers[m].offsetTop + timestamp/1000)+1) * 500) + ''px''...
GPU 加速是什么
GPU 加速是什么。7. 元素A有一個 z-index 比自己小的元素B,且元素B是一個合成層(換句話說就是該元素在復合層上面渲染),則元素A會提...
微信掃碼,在手機上查看選中內(nèi)容