国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

詳解CSS3開啟硬件加速的使用和坑

2024-07-11 08:25:31
字體:
來源:轉載
供稿:網友

前言

最近在看在github上看iscroll的文檔。雖然是英文的,但是為了裝逼,沒辦法硬著頭皮看完了,覺得作者寫得不錯(我有那么好耐心寫那么長的文檔就好了[捂臉]),然后為了更好地裝逼,有看了一遍,其中是發現了不少好東西的,比如說 CCS3硬件加速 就是在上面被我擴展出來的。為了大家可以一起愉快地玩耍,我就先附上iscroll的Github Link:https://github.com/issaxite/iscroll

開啟CSS3加速

平時我們寫的css3動畫(沒有觸發硬件加速的)都是使用瀏覽器緩慢的軟件渲染引擎來執行,字面上意思就是沒有開啟硬件加速。比如有時候寫的移動端網頁的動畫(比如最簡單的模態框)在安卓手機上會出現卡幀的現象,有很大可能就是使用瀏覽器軟件渲染引擎來執行,性能跟不上導致的。上面說到 硬件加速 就可以解決這個問題,性能跟不上嘛,那就Spider Man上(能力越大,責任越大)——來硬件加速,性能提上去呀(我知道這又是一個爛gag),其實所謂硬件加速就是告訴瀏覽器,讓它使用GPU進行渲染,切換到GPU模式,發揮GPU的一系列功能。

舉個例子:

CSS的  animations,  transforms 以及 transitions 不會自動開啟GPU加速,而是由瀏覽器的緩慢的軟件渲染引擎來執行。為了性能,這個時候或許你就需要開啟硬件加速功能。那我們怎樣才可以切換到GPU模式呢,很多瀏覽器提供了某些觸發的CSS規則。

Chrome, FireFox, Safari, IE9+和最新版本的Opera都支持硬件加速,當它們檢測到頁面中某個DOM元素應用了某些CSS規則時就會開啟,最顯著的特征的元素的3D變換。

在其他的文章上看到的幾個可以切換到GPU模式的幾個3d屬性:

.isaax{ -webkit-transform: translate3d(250px,250px,250px) rotate3d(250px,250px,250px,-120deg) scale3d(0.5, 0.5, 0.5);}

在iscroll的文檔上看到的是下面這個:

.isaax { -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0);}

據說使用以上樣式觸發硬件加速后會出現 “頁面可能會出現閃爍的效果“ 的問題,我是還沒有發現,在網上是找到兩個可以解決的方法:

方法一

.isaax { -webkit-backface-visibility: hidden; -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; backface-visibility: hidden; -webkit-perspective: 1000; -moz-perspective: 1000; -ms-perspective: 1000; perspective: 1000;}
backface-visibility (ie10+)是用來隱藏被旋轉元素的背面,translateZ 導致的?; 而當為元素定義 perspective 屬性時,其子元素會獲得透視效果。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 巴林右旗| 深水埗区| 淄博市| 奇台县| 宁远县| 福海县| 绥阳县| 郓城县| 枣阳市| 岳阳市| 台中市| 肃南| 尖扎县| 田东县| 太和县| 芜湖县| 西丰县| 北票市| 柏乡县| 甘南县| 澜沧| 宜川县| 金山区| 咸丰县| 定兴县| 乌拉特后旗| 乃东县| 扬州市| 卫辉市| 长乐市| 芜湖县| 洮南市| 新和县| 罗田县| 嘉定区| 德令哈市| 滨海县| 临湘市| 焦作市| 福建省| 从化市|