CSS-硬件加速
来源:互联网 发布:淘宝女生衣服 编辑:程序博客网 时间:2024/06/05 18:23
翻译文章,原文地址:http://blog.teamtreehouse.com/increase-your-sites-performance-with-hardware-accelerated-css。
在浏览器中用css开启硬件加速,使GPU (Graphics Processing Unit) 发挥功能,从而提升性能
GPU
概念
图形处理器( Graphics Processing Unit )
专门用来处理在个人电脑、工作站或游戏机上图像运算工作
显卡的“心脏”
90%以上的新型台式电脑和笔记本型电脑拥有集成图形处理器,但是在性能上往往低于那些独立显卡。
按照类型来分,可以分为独立显卡GPU和集成绘图GPU。
CPU更灵活,负载小,而GPU虽然处理速度没有那么快,但在处理高并发任务时有优势。
在桌面端和移动端用CSS开启硬件加速
CSS animations, transforms 以及 transitions 不会自动开启GPU加速,而是由浏览器的缓慢的软件渲染引擎来执行。那我们怎样才可以切换到GPU模式呢,很多浏览器提供了某些触发的CSS规则。
现在,像Chrome, FireFox, Safari, IE9+和最新版本的Opera都支持硬件加速,当它们检测到页面中某个DOM元素应用了某些CSS规则时就会开启,最显著的特征的元素的3D变换。
例如:
.cube { -webkit-transform: translate3d(250px,250px,250px) rotate3d(250px,250px,250px,-120deg) scale3d(0.5, 0.5, 0.5);}
可是在一些情况下,我们并不需要对元素应用3D变换的效果,那怎么办呢?这时候我们可以使用个小技巧“欺骗”浏览器来开启硬件加速。
虽然我们可能不想对元素应用3D变换,可我们一样可以开启3D引擎。例如我们可以用transform: translateZ(0); 来开启硬件加速 。
.cube { -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); /* Other transform properties here */}
在 Chrome and Safari中,当我们使用CSS transforms 或者 animations时可能会有页面闪烁的效果,下面的代码可以修复此情况:
.cube { -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; /* Other transform properties here */}
在webkit内核的浏览器中,另一个行之有效的方法是
.cube { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); /* Other transform properties here */}
原生的移动端应用(Native mobile applications)总是可以很好的运用GPU,这是为什么它比网页应用(Web apps)表现更好的原因。硬件加速在移动端尤其有用,因为它可以有效的减少资源的利用(麦时注:移动端本身资源有限)。
总结
只对我们需要实现动画效果的元素应用以上方法,如果仅仅为了开启硬件加速而随便乱用,那是不明智的。
小心使用这些方法,如果通过你的测试,结果确是提高了性能,你才可以使用这些方法。使用GPU可能会导致严重的性能问题,因为它增加了内存的使用,而且它会减少移动端设备的电池寿命。
- CSS-硬件加速
- CSS动画之硬件加速
- css开启硬件加速
- 用CSS开启硬件加速
- ios利用css实现硬件加速
- css硬件加速提升网页性能
- 硬件加速
- 硬件加速
- 硬件加速
- 硬件加速
- 用CSS开启硬件加速来提高网站性能
- 用CSS开启硬件加速来提高网站性能
- 用CSS开启硬件加速来提高网站性能(转)
- 用CSS开启硬件加速来提高网站性能
- 用CSS开启硬件加速来提高网站性能
- 理解硬件加速
- OpenGL硬件加速
- android硬件加速
- 《人人都爱经济学》 读书笔记(1)
- JVM Stack和Heap、GC
- poj 1852 Ants
- 详解clientHeight、offsetHeight、scrollHeight
- C++正则表达式匹配器
- CSS-硬件加速
- SELinux深入理解
- 文章标题 adb常用命令
- 排序算法分析(JAVA)
- dispatch source 学习篇
- js字符串拼接效率
- iOS开发的一些奇巧淫技
- Android SDK代理资源收集
- Spring导入多个独立的 .properties配置文件